??shell和其他编程语言一样,同样具有流程控制功能,也能够实现for,while,switch等流程控制语句。具体情形如下:
- if-else
命令格式如下
if condition1
then
command1
command2
elif condition2
then
command3
else
command4
fi
举例如下:
if [ ‘ps -ef | grep -c "ssh"‘ -gt 1 ]
then
echo "true"
else
echo "false"
fi
- for循环
命令格式如下:
for var in item1 item2 item2
do
command1
command2
done
举例如下:
for var in $@
do
echo $var
done
- while语句
命令格式如下:
while condition
do
command
done
如果没有添加condition条件则会处于无限循环状态。
举例如下:
a=1
while [ $a - lt 5 ]
do
echo $a
let "a++"
done
- case语句(对应其他编程语言中的switch)
命令格式如下:
case 值 in
模式1)
command1
command2
;; #用来防止进入其他模式代码
模式2|模式3) #模式2或模式3
command3
command4
;;
*) #用来匹配任何模式
command5
;;
esac
举例如下:
echo ‘输入数字‘
read a
case $a in
1|2|3|4|5)
echo ‘输入的值是:‘${a}
;;
*)
echo ‘退出‘
;;
esac
- break和continue语句
这两个语句的左右和在其他编程语言中的作用是一样的这里就不再赘述了!