仅当达到条件时我才需要发送电子邮件,但运行此脚本时出错:
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 test
和man bash
。