繁体   English   中英

shell脚本错误:[::预期为整数表达式

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM