我希望有人可以帮助将db2命令的输出应用于一个变量,以便稍后在脚本中使用。DB2通过bash脚本输出到变量
到目前为止,我在...
db2 "connect to <database> user <username> using <password>"
while read HowMany ;
do
Counter=$HowMany
echo $HowMany
done < <(db2 -x "SELECT COUNT(1) FROM SYSCAT.COLUMNS WHERE TABNAME = 'TableA' AND TABSCHEMA='SchemaA' AND GENERATED = 'A'")
当试图引用$Counter
外while循环,它返回SQL1024N A database connection does not exist. SQLSTATE=08003
一样的echo $HowMany
我试着用管的另一种方法,这使得$HowMany
显示正确的值,但是因为这是一个子外壳,所以它随后会丢失。
我宁可不使用临时文件,如果可能的话删除它们,因为如果脚本随时中止,我不喜欢留下文件。
谢谢伊恩。上面的解决方案是我尝试过的一个选项,但在循环外引用的变量会返回空值。我开始认为我可能需要使用这个我很乐意避免的文件 – 2015-02-05 19:03:20
您是否在离开do循环后未设置'$ Counter'的值?或'$ HowMany'? – 2015-02-05 19:42:45
$ Counter返回一个空值,好吧,都在循环后执行 – 2015-02-05 22:15:14