当前位置:   article > 正文

Shell逻辑判断、分支语句(带案例,Shell脚本学习笔记)_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

  1. read -p "请输入一个字符:" c
  2. if [ $c = 'y' ]; then
  3. echo "right"
  4. elif [ $c = 'n' ]; then
  5. echo "wrong"
  6. else
  7. echo "bad input"
  8. fi

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

  1. read -p "请输入一个数字:" num
  2. if [ $num -gt 5 ]; then
  3. echo "大于5"
  4. elif [ $num -lt 5 ]; then
  5. echo "小于5"
  6. else
  7. echo "等于5"
  8. fi

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

案例3:

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

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

效果如下:

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

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

  1. read -p "please input a char: " c
  2. case $c in
  3. 'A' | 'a')
  4. echo "4"
  5. ;;
  6. 'B' | 'b')
  7. echo "3"
  8. ;;
  9. 'C' | 'c')
  10. echo "2"
  11. ;;
  12. *)
  13. echo "输入不正确"
  14. ;;
  15. esac

运行结果:

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

  1. i=1
  2. res=0
  3. while [ $i -le 100 ]
  4. do
  5. res=$[$res+$i]
  6. i=$[$i+1]
  7. done
  8. echo $res

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/740407
推荐阅读
相关标签
  

闽ICP备14008679号