- 论坛徽章:
- 0
|
我这边每天都会调用shell脚本,远程登录服务器数据库,查询固定表固定字段的时间戳,下面是源代码,但执行报错,求有经验人,帮忙指导一下
# db2查询函数
auto_check_db2() {
expect -c "
set timeout -1
spawn ssh -o StrictHostKeyChecking=no $1
expect {
eof {exit 1}
\"password:\"
}
send \"$2\r\"
expect {
eof {exit 2}
\"password:\" {exit 3}
\"]#\"
}
send \"su - db2inst1\r\"
expect {
eof {exit 4}
\"]$\ \"
}
send \"db2\r\"
expect {
eof {exit 5}
\"db2 =>\"
}
send \"connect to $3\r\"
expect {
eof {exit 6}
\"db2 =>\"
}
send \"$4\r\"
expect {
eof {exit 7}
\"db2 =>\"
}
send \"quit\r\"
expect {
eof {exit 8}
\"]$\ \"
}
send \"exit\r\"
expect {
eof {exit 9}
\"]#\"
}
exit
expect eof
"
return $?
}
auto_check_db2 "root@16.32.0.100" "xzsawq21" "HFMIS" "SELECT max(JXRQ) FROM \"db2inst1\".\"CPZGLSZ\" where to_date(JXRQ,'YYYY-MM-DD')<current date"
执行结果报错
[root@SCRIPT test]# ./check_db_max_values_single.sh
extra characters after close-quote
while executing
"send "SELECT max(JXRQ) FROM "db2inst1"."CPZGLSZ" where to_date(JXRQ,'YYYY-MM-DD')<current date\r"
expect {
eof {exit 7}
..."
[root@SCRIPT test]#
注释:因为db2数据库中schema问题,select from的时候只能写成"db2inst1"."CPZGLSZ"
求大神,帮忙指导下! |
|