Shell中关于if,case,for,while等的总结

1、关于if的应用

     if后边跟的条件必须用[ ](中括号)括起来然后下边用then ,最后用fi。

  1. 1 #!/bin/bash
  2. 2 #if test2
  3. 3 echo -n "Enter your name: "
  4. 4 read NAME
  5. 5 if [ "$NAME" == "" ]
  6. 6 then
  7. 7 echo "You dont't enter any word "
  8. 8 fi

2、关于if/elif/else的应用

        if后边跟的条件必须用[ ](中括号)括起来然后下边用then,elif后边跟的条件也必须用[ ](中括号)括起来然后下边用then,然后用else最后用if。

  1. 1 #!/bin/sh
  2.   2 echo "Please input a number year :"
  3.   3 read year
  4.   4 let "n1=$year%4"
  5.   5 let "n2=$year%100"
  6.   6 let "n3=$year%400"
  7.   7 if [ ! "$n1" -eq 0 ]
  8.   8 then
  9.   9 leap=0
  10.  10 elif [ ! "$n2" -eq 0 ]
  11.  11 then
  12.  12 leap=1
  13.  13 elif [ ! "$n3 -eq 0" ]
  14.  14 then
  15.  15 leap=0
  16.  16 else
  17.  17 leap=1
  18.  18 fi
  19.  19 if [ $leap -eq 1 ]
  20.  20 then
  21.  21 echo "$year is a leap year"
  22.  22 else
  23.  23 echo "$year is not a leap year"
  24.  24 fi

3、关于case的运用

 case在条件后面必须跟一个in,然后下边条件用alue)跟的条件语句结尾用两个;;(分号),最后一个条件为*),最后用上esac。

  1. 1 #!/bin/sh
  2.   2 echo "Please input a month: "
  3.   3 read month
  4.   4 case $month in
  5.   5 1)
  6.   6 echo "yes 1 " ;;
  7.   7 2)
  8.   8 echo "no 2 " ;;
  9.   9 *) 
  10.  10 echo "other " ;;
  11.  11 esac

 4、关于for的应用

  1)for的列表循环,循环体前用in 、,循环体用{ }大括号括起来,然后用do和done。

  2)不带列表的for循环,for后直接跟条件,然后用do和done。

 3)类C风格的for循环,for后边用(())两层双括号括住条件,条件之间用;分号隔开,然后用do和done。

  1. 1 #!/bin/sh
  2.   2 sum=1
  3.   3 for (( i = 1 ;i <= 10 ;i++ ))
  4.   4 do 
  5.   5 let sum*=i
  6.   6 echo sum =$sum
  7.   7 done
  8.   8 echo long sum ="$sum"

5、关于while的应用

 1)在计数器中的while循环后边必须用(())双层小括号,然后用do和done。

 2)其他条件下while后边跟的条件必须用[[ ]]双层中括号括起来或者[ ],然后用do和done。

  1. 1 #用脚本演示使用结束标记控制while循环实现猜1~10内的数
  2.   2 #!/bin/sh
  3.   3 echo "Please input the num (1~~10): "
  4.   4 read num
  5.   5 while [ $num != 4 ]
  6.   6 do
  7.   7 if [ $num -lt 4 ]
  8.   8 then 
  9.   9 echo "Too small ,Try again.."
  10.  10 read num
  11.  11 elif [ $num -gt 4 ]
  12.  12 then 
  13.  13 echo "Too big ,Try again.. "
  14.  14 read num
  15.  15 else
  16.  16 exit 0
  17.  17 fi
  18.  18 done
  19.  19 echo "Yes ,you are right !!"
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值