4-4(shell4-运算符、条件判断、循环)

2019-08-22  本文已影响0人  不知名的二狗

shell注释

以#开头,没有多行注释

Shell基本运算符

expr是一款表达式计算工具

注意

1.两数相加(使用反引号`而不是单引号’)

  1. 表达式中间有空格需要多注意
    3.7/3=2(结果为商)
    4.7%3=1 (结果为余数)
#!/bin/bash
sum=`expr 2 + 2`
# jieguo
echo "sum:$sum"
a=7
b=3
echo `expr $a / $b`
echo `expr $a % $b`
echo `expr [$a == $b]`
echo `expr [$a != $b]`

执行结果

cc@ubuntu:~$ /bin/bash exprtest.sh
sum:4
2
1
0
1

条件判断语句

语法格式一
if [条件判断]
then
语句块(echo '条件成立输出的语句')
fi
语法格式二
if [条件判断]
then
语句块(echo '条件成立输出的语句')
else
语句块(echo '条件不成立输出的语句')
fi

#!/bin/bash
read score
if [ $score -ge 60 -a $score -le 100 ]
then
        echo "good"
elif [ $score -le 59 -a $score -gt 10 ]
then
        echo "terrible"
elif [ $score -le 10 ]
then
        echo "genius"
fi

执行结果(第一行22为终端输入)

cc@ubuntu:~$ /bin/bash iftest.sh
22
terrible

关系运算符

-eq 相等
-ne 不相等
-gt 大于
-lt 小于
-ge 大于等于
-le 小于等于

#!/bin/bash
a=20
b=50
if [ $a -eq $b ]
        then
                echo "true_eq"
        else    
                echo "false_eq"
fi      

执行结果

cc@ubuntu:~$ /bin/bash guanxi.sh
false_eq

布尔运算符

!非运算
-o 或运算
-a 与运算

字符串运算符

= 相等
!= 不相等
-z 检测字符串长度是否为0,为0返回true
str 检测字符串是否为空,不为空返回true

#!/bin/bash
a="abc"
b="eee"

if [ $a = $b ]
then    
        echo "wa"
else    
        echo "nono"
fi 

执行结果

cc@ubuntu:~$ /bin/bash strtest.sh
nono

文件测试运算符

-d file 检测是否目录
-f file 是否普通文件
-r file 是否可读
-s file 是否为空

#!/bin/bash
f=guanxi.sh
if [ -d $f ]
then
        echo "no"
else
        echo "yes"
fi

执行结果

cc@ubuntu:~$ /bin/bash io.sh
yes

case...esac

#!/bin/bash
read num
case $num in
        1)
                echo 1
                ;;
        2)
                echo 2
                ;;
        3)      
                echo 3
                ;;
esac  

执行结果

cc@ubuntu:~$ /bin/bash casetest.sh
3
3

循环

break 跳出所有循环
continue 跳出本次循环
输出1-5的数字

#!/bin/bash
int=1
while(($int<=5))
do 
        echo $int
        let "int++"
done  

或者

#!/bin/bash
for((i=1;i<5;i++))
do      
        echo $i
done   

执行结果

cc@ubuntu:~$ /bin/bash whiletest.sh
1
2
3
4
5
上一篇下一篇

猜你喜欢

热点阅读