bash脚本,if条件需要发送邮件

bash脚本,if条件需要发送邮件

仅当达到条件时我才需要发送电子邮件,但运行此脚本时出错:

file='/somewhere/here/file.txt'
value=$(cat "$file")
if [$value < 99]; then
     echo "$value" | mailx -s "title"  [email protected]
fi

我收到的错误是这样的:

[line 4: 99]: No such file or directory

文件权限:0755

文件“/somewhere/here/file.txt”存在

答案1

请记住,每种编程语言都有自己的语法,在尝试使用新语言之前,您确实应该阅读相关文档。在 shell 中,<并不意味着“小于”,而是意味着“将此文件作为输入”。要进行数值比较,您需要-lt“小于”。

此外,在[和周围总是需要空格]。所以你想写的是这样的:

if [ "$value" -lt 99 ]; then
     echo "$value" | mailx -s "title"  [email protected]
fi

欲了解更多详情,请参阅help testman bash

相关内容