基本的bash条件语句

时间:2014-07-25 19:52:03

标签: bash shell conditional

我知道我在这里做错了什么:

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,我只是遇到了条件

的麻烦

1 个答案:

答案 0 :(得分:3)

小于运算符(&lt;)不会与[]一起使用 你应该使用

if [ $i -lt 1 ]

如果你想使用&lt;运算符使用(())括号 比如if (( $i > 1 )); then