我知道我在这里做错了什么:
for i in `cat $resFile | awk -F: '{print $1}' | awk '{print $2}'`; do
echo $i
if [ 1 < $i ] ; then
/usr/bin/mutt -s "SR Sampling Message" emailaddress@hotmail.com < $resFile ; else
echo "everything's fine"
fi
done
if语句每次都返回true,我需要它来跟随否定结果。应该很明显,我只是错过了它。
$resFile
看起来像这样:
10.254.254.254 2:34
10.254.254.253 2:34
10.254.254.252 2:34
10.254.254.251 2:34
10.254.254.250 3:41
10.254.254.249 3:41
10.254.254.248 3:41
无论我把它作为时间的阈值,我总是得到输出。我知道这一切都很糟糕,而且我使用的是awk
,我只是遇到了条件
答案 0 :(得分:3)
小于运算符(&lt;)不会与[]一起使用 你应该使用
if [ $i -lt 1 ]
如果你想使用&lt;运算符使用(())括号
比如if (( $i > 1 )); then