
1:如果只是输出一个文件的内容,可以直接用more来输出,例如
more
a.log
2:如果希望分屏显示某个程序的输出内容,因为more只能直接 *** 作文件,所以此时必须通过管道来实现分屏显示,例如
./output
|
more
3:more命令的相关参数
+n
从笫n行开始显示
-n
定义屏幕大小为n行
+/pattern
在每个档案显示前搜寻该字串(pattern),然后从该字串前两行之后开始显示
-c
从顶部清屏,然后显示
-d
提示“press
space
to
continue,’q’
to
quit(按空格键继续,按q键退出)”,禁用响铃功能
-l
忽略ctrl+l(换页)字符
-p
通过清除窗口而不是滚屏来对文件进行换页,与-c选项相似
-s
把连续的多个空行显示为一行
-u
把文件内容中的下画线去掉
4:more命令的相关 *** 作
enter
向下n行,需要定义。默认为1行
ctrl+f
向下滚动一屏
空格键
向下滚动一屏
ctrl+b
返回上一屏
=
输出当前行的行号
:f
输出文件名和当前行的行号
v
调用vi编辑器
!命令
调用shell,并执行命令
q
退出more
参考后修改:
run1.sh &
run2.sh &
run3.sh &
for child in `ps -ef|grep "$$"|grep -v grep|grep -v "$PPID"|awk '{print $2}'`
do
wait -n $child
echo "process $child exited"
done
echo "done"
方式一当然是windows电脑安装达梦管理工具,直接把脚本贴进去执行,但避免不了出现误 *** 作
在这里插入图片描述
方式二
使用shell脚本执行sql
1. 先找到达梦数据库安装位置吧
[root@localhost ~]# ss -nlp |grep 5236
tcpLISTEN 0 128[::]:5236 [::]:* users:(("dmserver",pid=103380,fd=4))
[root@localhost ~]# ps -ef|grep dmserver
root 85093 66993 0 17:56 pts/600:00:00 grep --color=auto dmserver
dmdba103380 1 8 13:36 ?00:23:18 /home/dmdba/dmdbms/bin/dmserver /home/dmdba/dmdbms/data/DAMENG_JW/dm.ini -noconsole
1
2
3
4
5
1
2
3
4
5
2. 直接在linux上执行shell命令执行sql脚本
2.1 # disql username/password:port
使用这个命令可以进入sql控制台
[root@localhost sql]# /home/dmdba/dmdbms/bin/disql cpuser/cpuser123:5236
服务器[LOCALHOST:5236]:处于普通打开状态
登录使用时间 : 5.524(ms)
disql V8
SQL>
进入SQL>后:
直接输入sql语句,使用英文分号结尾,回车执行。
使用“`sql文件路径”,可以执行sql脚本文件,注意前面有一个小撇(esc和tab中间的键)
使用“start sql文件路径”,可以执行sql脚本文件。
2.2 # disql username/password:port `sql文件位置
使用这个命令可以执行sql脚本
[root@localhost sql]# /home/dmdba/dmdbms/bin/disql cpuser/cpuser123:5236 \`sql/test.sql
[root@localhost sql]#
1
2
1
2
但需注意
这个脚本执行完sql会停留在sql执行行,如需执行完返回到shell命令行,则需要在sql文件结尾添加:exit。
这个shell语句不能用start执行sql文件,只能使用“`”,并且前面需要添加转义字符“\”。
2.3 达梦sql脚本注意事项
目前发现-创建schema语句以及执行过程结尾,都需要添加“/”结束
例如执行以下语句,回车执行,一直在输出数字,直到输入“/”,再回车执行,才执行成功。
[root@localhost sql]# /home/dmdba/dmdbms/bin/disql cpuser/cpuser123:5236
服务器[LOCALHOST:5236]:处于普通打开状态
登录使用时间 : 6.121(ms)
disql V8
SQL>create schema test
2
3 /
*** 作已执行
已用时间: 26.698(毫秒). 执行号:700604.
SQL>
sql脚本示例:
-- 创建schema
CREATE SCHEMA DB_ZFBA_MOBILE
/
-- 执行过程
begin
if exists(select 1 from DBA_TAB_COLUMNS where OWNER='DB_ZFBA_MOBILE' AND TABLE_NAME='T_ZJTQD') then
EXECUTE immediate 'drop table DB_ZFBA_MOBILE.T_ZJTQD'
end if
end
/
create table DB_ZFBA_MOBILE.T_ZJTQD
(
"C_BH"char(32) NOT NULL,-- 主键
"C_BH_AJ" varchar2(32) NULL,-- 案件编号
……
"DT_ZHXGSJ" datetime NULL,-- 最后修改时间
constraint PK_T_ZJTQD primary key( C_BH )
)
sql文件结尾添加exit,保证多个sql文件执行不会中断
3. 编写shell脚本
注意:shell脚本一定在linux中编写,windows编写的有些语句执行不成功(目前原因未知)
例如: a=a b=b c=$a$b echo $c 在windows下编写,linux中执行完会输出b
#!/bin/bash
# 请先配置数据库连接信息,再执行此脚本
DM_PATH=/home/dmdba/dmdbms#达梦数据库的安装位置
USERNAME=cpuser #达梦数据库连接用户名
PASSWORD=cpuser123#达梦数据库连接密码
PORT=5236 #达梦数据库连接端口号
# 下面的信息请不要随意修改
CONNECT_INFO=$USERNAME/$PASSWORD:$PORT
echo "连接信息:"$CONNECT_INFO
# STEP 1
echo "【开始执行】---- sql/02_创建数据库对象/00.CS_GSYS.sql"
$DM_PATH/bin/disql $CONNECT_INFO \`sql/02_创建数据库对象/00.CS_GSYS.sql >>DB_DM.log
echo "【执行完成】---- sql/02_创建数据库对象/00.CS_GSYS.sql"
# STEP 2
echo "【开始执行】---- sql/02_创建数据库对象/01.CT_GSYS.sql"
$DM_PATH/bin/disql $CONNECT_INFO \`sql/02_创建数据库对象/01.CT_GSYS.sql >>DB_DM.log
echo "【执行完成】---- sql/02_创建数据库对象/01.CT_GSYS.sql"
# STEP 3
echo "【开始执行】---- sql/02_创建数据库对象/02.CC_GSYS.sql"
$DM_PATH/bin/disql $CONNECT_INFO \`sql/02_创建数据库对象/02.CC_GSYS.sql >>DB_DM.log
echo "【执行完成】---- sql/02_创建数据库对象/02.CC_GSYS.sql"
# STEP 4
echo "【开始执行】---- sql/02_创建数据库对象/03.CI_GSYS.sql"
$DM_PATH/bin/disql $CONNECT_INFO \`sql/02_创建数据库对象/03.CI_GSYS.sql >>DB_DM.log
echo "【执行完成】---- sql/02_创建数据库对象/03.CI_GSYS.sql"
# STEP 5
echo "【开始执行】---- sql/03_初始化数据/02.I_T_Aty_CodeType_GSYS.sql"
$DM_PATH/bin/disql $CONNECT_INFO \`sql/03_初始化数据/02.I_T_Aty_CodeType_GSYS.sql >>DB_DM.log
echo "【执行完成】---- sql/03_初始化数据/02.I_T_Aty_CodeType_GSYS.sql"
# STEP 6
echo "【开始执行】---- sql/03_初始化数据/02.I_T_Aty_Code_GSYS.sql"
$DM_PATH/bin/disql $CONNECT_INFO \`sql/03_初始化数据/02.I_T_Aty_Code_GSYS.sql >>DB_DM.log
echo "【执行完成】---- sql/03_初始化数据/02.I_T_Aty_Code_GSYS.sql"
# Complete
echo "【SQL全部执行完成】---- 日志请查看DB_DM.log"
执行完成后,通过shell控制台和DB_DM.log日志可以分析sql脚本是否执行成功。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)