Shell中的控制结构

前言

与其他编程语言一样,shell也有顺序、分支、循环三种控制结构。

一、顺序结构

即程序自入口到出口依次执行,实例如下:

  A=10
  B=20
  echo $[$A+$B]

二、分支结构

分支如同原本笔直的大道突然在前面分成了两条以上的小路,此时,需要根据所给条件的判定结果,决定最终走哪一条路。

2.1 双分支

if...else结构,实例如下:

T=20
if [ $T > 20 ]
  then
    echo "$T大于20"
else
    echo "$T小于20"
fi

2.1 多分支

case语句,实例如下:

 ACTION=stop
 case $ACTION in
 stop)
    echo "stop xxx service"
 ;;
 start)
    echo "start xxx service"
 ;;
 restart)
    echo "restart xxx service"
 ;;
 *)     #默认匹配
    echo "execute other actions"
 ;;    
 esac   #case的反写

三、循环结构

重复做具有同样流程的事。

3.1 for循环

九九乘法表,实例如下:

for((i=1;i<10;i++))
do
  for((j=1;j<=i;j++))
  do
     echo -ne "$j * $i = $[$i*$j]\t"
  done
  echo -e "\n"
done
  
结果:
1 * 1 = 1

1 * 2 = 2       2 * 2 = 4

1 * 3 = 3       2 * 3 = 6       3 * 3 = 9

1 * 4 = 4       2 * 4 = 8       3 * 4 = 12      4 * 4 = 16

1 * 5 = 5       2 * 5 = 10      3 * 5 = 15      4 * 5 = 20      5 * 5 = 25

1 * 6 = 6       2 * 6 = 12      3 * 6 = 18      4 * 6 = 24      5 * 6 = 30      6 * 6 = 36

1 * 7 = 7       2 * 7 = 14      3 * 7 = 21      4 * 7 = 28      5 * 7 = 35      6 * 7 = 42      7 * 7 = 49

1 * 8 = 8       2 * 8 = 16      3 * 8 = 24      4 * 8 = 32      5 * 8 = 40      6 * 8 = 48      7 * 8 = 56      8 * 8 = 64

1 * 9 = 9       2 * 9 = 18      3 * 9 = 27      4 * 9 = 36      5 * 9 = 45      6 * 9 = 54      7 * 9 = 63      8 * 9 = 72      9 * 9 = 81
3.2 while循环

求n!,实例如下:

i=1
res=1
while [ $i -le $1 ]    # $1为传入脚本的第一个参数
do
  res=$[$i*$res]
  i=$[$i+1]
done
echo "$1的阶乘为:$res"
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值