shell 脚本中的 db2 查询不会 运行 shell 中的结果为空
db2 query in shell script doesn't run with empty results in shell
我在 shell 中有以下脚本。 test.sh
#! /bin/bash
connect_stat=$(db2 -x "connect to $DB_NAME USER $DB_USER using $DB_PASSWORD" )
db2 "SET SCHEMA=SCHEMA1"
while read line;
do
a=$(db2 -x "SELECT C.id FROM table C WHERE C.col1 IN ('$line)') with ur")
echo $a
done<inputs.txt
当我 运行 "sh test.sh"
时,我得到空结果
当我 运行 通过 putty 在 db2 中进行相同的上述查询时,我得到了结果。
我有以下 dbcon 文件。将触发 putty 中的 dbcon 文件,结果可用
/admin/.profile
db2 connect to DB_NAME USER DB_USER using DB_PASSWORD
db2 set SCHEMA=SCHEMA1
db2
db2 => SELECT C.id FROM table C WHERE C.col1 IN ('xyz-asd-asd') with ur
ID
----------------------------------------------------------------
123
1 record(s) selected.
请帮助我在 shell 脚本中做错了什么。
提前致谢。
$(db2 -x "connect to $DB_NAME...)
在子 shell 中执行,当子 shell 退出时终止连接,所以当你到达 db2 "SELECT C.PARTNUMBER..."
时连接不存在。
我在 shell 中有以下脚本。 test.sh
#! /bin/bash
connect_stat=$(db2 -x "connect to $DB_NAME USER $DB_USER using $DB_PASSWORD" )
db2 "SET SCHEMA=SCHEMA1"
while read line;
do
a=$(db2 -x "SELECT C.id FROM table C WHERE C.col1 IN ('$line)') with ur")
echo $a
done<inputs.txt
当我 运行 "sh test.sh"
时,我得到空结果当我 运行 通过 putty 在 db2 中进行相同的上述查询时,我得到了结果。
我有以下 dbcon 文件。将触发 putty 中的 dbcon 文件,结果可用
/admin/.profile
db2 connect to DB_NAME USER DB_USER using DB_PASSWORD
db2 set SCHEMA=SCHEMA1
db2
db2 => SELECT C.id FROM table C WHERE C.col1 IN ('xyz-asd-asd') with ur
ID
----------------------------------------------------------------
123
1 record(s) selected.
请帮助我在 shell 脚本中做错了什么。
提前致谢。
$(db2 -x "connect to $DB_NAME...)
在子 shell 中执行,当子 shell 退出时终止连接,所以当你到达 db2 "SELECT C.PARTNUMBER..."
时连接不存在。