为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:DM8
【操作系统】:Linux
【CPU】: x86
【问题描述】*:
用sh xxx.sh 执行多行 disql zh/mm@ip:port -e "sql";
报错 冒号: command foundine
看起来像是冒号识别不了
但是我将sh中的指令拷贝出来执行,是能成功执行的。
可以采用这样的方式连接:
./disql SYSDBA/SYSDBA@"IP:PORT" -e "sql"
如图所示:
sql中是否有特殊字符。
不用-e "sql1",通过管道符看看
echo "sql" | disql zh/mm@ip:port
这个应该是shell的报错吧,在shell脚本中把冒号去掉,每行的sql结尾带上冒号试试,类似以下
/home/dmdba/dmdbms/bin/disql sysdba/SYSDBA -e "sql1;"
/home/dmdba/dmdbms/bin/disql sysdba/SYSDBA -e "sql2;"
/home/dmdba/dmdbms/bin/disql sysdba/SYSDBA -e "sql3;"