我在这里读过这个bash脚本:
Bash send mail only if file contains string
但它不测试数值:
if fgrep ERROR /home/user/one-number.txt; then
mail -s 'Import Error Log' admins
fi
这几乎可以满足我的需求,但我只需要发送one-number.txt
包含一个大于270或小于90的数字,我需要发送给大量人员。
不需要Bash。 Php,python,perl也可以工作。
我试过这个,但它似乎不起作用:
subject="Alert";
i=$(cat file_with_1_number.txt) ;
if [$i > 269 && $i < 361 || $i > 0 && $i < 91; then
mail -s $subject admin@example.com < file.txt;
fi
答案 0 :(得分:0)
你的最后一次尝试并不太远。这有效:
subject="Alert"
i=$(cat file_with_1_number.txt)
if (( $i > 269 && $i < 361 )) || (( $i > 0 && $i < 91 ))
then
mail -s $subject admin@example.com < file.txt
fi
((..))
用于告诉bash它是一个算术表达式(因为你使用的是算术表达式)。当您一次检查多个范围时,分组也很重要。