Shell 条件表达式的写法

条件表达式常用写法包括:[ ] 、test、(( )) 、[[ ]] 。

1 标准写法[ ]

标准写法为[ ],[ ]是test命令的简化写法。

read -p "请输入分数:" score
 
if [ $score -eq 100 ];then
    echo "满分。"
    echo "xiaobuteach.com"
else
    echo "不是满分"
fi

2 test命令写法

if命令的标准写法。其中变量需用$标记,关系运算、逻辑运算,使用-eq、-a这一套专用语法。

read -p "请输入分数:" score
 
if test $score -eq 100 ;then
    echo "满分。"
    echo "xiaobuteach.com"
else
    echo "不是满分"
fi

3 (( ))

本身用于数学计算,其中的关系运算、逻辑运算使用用常规运算符: ==、&&、等。

read -p "请输入分数:" score
 
if (( score==100))
then
    echo "满分。"
    echo "xiaobuteach.com"
else
    echo "不是满分"
fi

4 [[ ]]

[ ]的加强,其中变量不用$,*运算等原来需要加转义字符\的可以省略。

read -p "请输入分数:" score
 
if [[ score -eq 100 ]]
then
    echo "满分。"
    echo "xiaobuteach.com"
else
    echo "不是满分"
fi