Ksh算术异常

时间:2014-04-08 12:14:50

标签: shell ksh

我在脚本中有以下几行:

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

现在这在我的环境中完美运行,但是当我的同事测试它时,他得到该行的算术语法错误。怎么样?

1 个答案:

答案 0 :(得分:2)

如果您在转让set -vx之前添加NR_OF_REQ..,您的同事的屏幕会显示什么。 ?

问题几乎可以肯定是对db2的调用没有返回数值。

请记住,set -vx是你的朋友(即使在处理大型和/或嵌套的while / for / if-then-else-fi代码块时非常笨重:-))

IHTH