[英]shell script error : [: : integer expression expected
我正在尝试基于Java脚本输出触发电子邮件警报,但是我在shell脚本中收到如下错误,
script.sh: line 22: [: : integer expression expected
Below is my shell script format,
out="$(java -jar /waitrose/scripts/OF/BOBIErrorAutomation/BOBIAutomation.jar
2>&1)"
if [ "$out" -gt 0 ]
then
mail -s "script did not completed successfully" $mailid_list
exit 0
fi
以下是java程序返回的示例错误:
The error was: com.ibm.db2.jcc.c.a.<init>(a.java:174) 174
com.ibm.db2.jcc.c.b.a(b.java:1745) 1745
com.ibm.db2.jcc.b.p.<init>(p.java:934) 934
谁能告诉我如何从java程序捕获输出并在shell中触发邮件?
您是否没有将Java程序的输出(在崩溃的情况下,最有可能是某种字符串)与(-gt大于)整数进行比较? 比较器需要一个整数,而不是来自Java的崩溃消息。
编辑:详细说明,也许最好先测试$ out是否为整数,如果您的jar只运行正确的整数,则输出:
if ! [[ "$out" =~ ^[0-9]+$ ]]
然后使用它触发您的邮件,然后恢复正常功能。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.