shell编程之流程控制

if……elif……else

#!/bin/bash

a=1
b=2
c=1
if [ $a == $b  ]
then
  echo "a=b"
elif [ $a == $c  ]
then
  echo "a=c"
else
  echo "shell编程之流程控制"
fi

如果没有elif 和else分支,可直接省略这个分支,若只有if……else……则省略elif分支;

for循环

#!/bin/bash

for var in 1 2 3 4
do
echo "var=$var"
done
输出结果为
var=1
var=2
var=3
var=4

还可以这样使用
#!/bin/bash

for((i=1;i<=5;i++));do
    echo "这是第 $i 次调用";
done;

while语句

当condition条件为true时,执行command
while condition
do
   command
done

until循环

当condition条件为false时,执行循环体,当condition条件为true时,跳出循环,和while相反
until condition
do
  command
done

case语句

case value in
      1)  command1
        ;;
      2)  command2
        ;;
      3)  command3
        ;;
      *)  command4
        ;;
esac
esac是case的倒写,表示case语句的结束,if语句也是类似,用fi表示语句结束

break和continue跳出循环

break跳出所有循环
#!/bin/bash

for((i=1;i<=5;i++));do
if [ $i == 2  ]
then
break
else
    echo "这是第 $i 次调用";
fi
done;
输出结果为
这是第1次调用

continue跳出本次循环
#!/bin/bash

for((i=1;i<=5;i++));do
if [ $i == 2  ]
then
continue
else
    echo "这是第 $i 次调用";
fi
done;
输出结果为
这是第 1 次调用
这是第 3 次调用
这是第 4 次调用
这是第 5 次调用

猜你喜欢

转载自blog.csdn.net/fanrenxiang/article/details/80315768