shell中if的使用

比较条件

除了 == != > <这些比较符,我们最好还是了解一下字母描述的比较符

-eq 等于

-ne 不等于

-lt   小于

-gt  大于

-le 小于等于

-ge 大于等于

if…else的使用

这里特别需要注意的是if与[[之间需要有一个空格,[[,]]与变量以及比较符之间也必须有空格

不然会报错

if[1 -eq 1]: command not found
syntax error near unexpected token `then'
`then'
test=1
if [[ $test -eq 1 ]];
then
    echo 'is 1';
else
    echo 'not 1';
fi
#输出 is 1

if的使用

test=2
if [[ $test == 1 ]];
then
    echo 'is 1';
fi
#输出空

if…else if … else 的使用

test=2
if [[ $test == 1 ]];
then
    echo 'is 1';
elif [[ $test == 2 ]];
then
    echo 'is 2';
else
    echo 'not 1';
fi
#输出 is 2

更多比较符

-z 判断是否为空

test=''

if [[ -z $test ]];
then
    echo 'is empty';
else
    echo 'not empty';
fi
#输出 is empty

-n 判断是否不为空

test=''

if [[ -n $test ]];
then
    echo 'not empty';
else
    echo 'is empty';
fi
#输出 is empty