我在脚本中有以下几行:
NR_OF_REQUESTS_IN_PROGRESS=$(db2 -x "select count(*) from my_table where date='$MY_DATE' and status = 'EXPECTED_STATUS' and id in ($CURRENT_ID, $OTHER_ID)" | awk '{print $1}')
while [[ $NR_OF_REQUESTS_IN_PROGRESS -gt 0 ]]; do
[...]
done
现在这在我的环境中完美运行,但是当我的同事测试它时,他得到该行的算术语法错误。怎么样?
答案 0 :(得分:2)
如果您在转让set -vx
之前添加NR_OF_REQ..
,您的同事的屏幕会显示什么。 ?
问题几乎可以肯定是对db2的调用没有返回数值。
请记住,set -vx
是你的朋友(即使在处理大型和/或嵌套的while / for / if-then-else-fi代码块时非常笨重:-))
IHTH