Shell逻辑判断、分支语句(带案例,Shell脚本学习笔记)

逻辑语法:

if [ 判断条件  ] ; then

    ....

elif [ 判断条件 ]; then

    ....

else

    ....

fi

(其中fi是结束标志) 

踩坑提醒:

  • 大括号里面写条件判断前,前后都要空一格,比如 ,错误写法:[$a = $b] ,正确写法:[ $a = $b ]
  • Shell脚本是区分大小写的,不能把关键词如if、elif、echo写成IF、ELIF、ECHO

案例1:

输入一个字符,如果这个字符是y,输出right;如果这个字符是n输入wrong;否则就输出bad input

read -p "请输入一个字符:" c
if [ $c = 'y' ]; then
    echo "right"
elif [ $c = 'n' ]; then
    echo "wrong"
else
    echo "bad input"
fi

案例2:输入一个数,并且判定它是否大于/等于/小于5

read -p "请输入一个数字:" num
if [ $num -gt 5 ]; then
    echo "大于5"
elif [ $num -lt 5 ]; then
    echo "小于5"
else
    echo "等于5"
fi

 >> 提示:数字判断运算符为:-gt(大于)、-lt(等于)、-ge(等于)、-ge(大于等于)、-le(小于等于)

案例3:

先判断输入的目录是否存在,如果存在,用ls显示它的文件和目录,否则提示:no such dir

read -p "输入一个目录名称:" dirname
if [ -d $dirname ]; then
    ls $dirname
else
    echo "no such dir"
fi

效果如下:

案例4:分支语句,case的运用

输入一个字符,如果输入A或a,显示4,如果输入B或b,显示3,如果输入C或c,显示2,其它则显示"输入不正确"

read -p "please input a char: " c
case $c in
'A' | 'a')
   echo "4"
;;
'B' | 'b')
   echo "3"
;;
'C' | 'c')
   echo "2"
;;
*)
    echo "输入不正确"
;;
esac

运行结果:

案例5:利用while循环,计算1-100数字之和

i=1
res=0
while [ $i -le 100 ]
do
    res=$[$res+$i]
    i=$[$i+1]
done
echo $res

如喜欢,欢迎点赞、收藏哦~

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值