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 次调用