1.if..else
语法:
if 条件1
then
命令1
elif 条件2
then
命令2
……
else
命令n
fi
应用场景 脚本:
结果:
2. case
语法:
case 值 in
匹配模式1)
命令1
;;
匹配模式2)
命令1
;;
匹配模式)
命令1
;;
...
*)
命令n
;;
esac
应用场景 脚本:
结果:
3. while
语法:
while 条件
do
命令1
命令2
done
无限循环:
while true
do
command
done
或
while :
do
command
done
应用场景 脚本:
结果:
4.util
语法:
until 条件
do
命令
done
5. for循环
语法:
方式一:
for var in item1 item2 ... itemN
do
命令1
命令2
...
done
或
for var in item1 item2 ... itemN; do 命令1; 命令2…; done;
方式二:
for var in {item1..itemn}
do
命令1
命令2
...
done
或
for var in {item1..itemn};do 命令1;命令2…;done
方式三:
for ((i=item1;i<=itemn;i++))
do
命令1
命令2
...
done
或
for ((i=item1;i<=itemn;i++));do 命令1;命令2…;done
无限循环:
for ((;;))
do
命令1
命令2
...
done
或
for (());do 命令1;命令2…;done
应用场景 脚本:
或
结果:
6.select 语句
语法:
select var in menu1 menu2 ...
do
命令
break
done
注意: select 是无限循环(死循环),输入空值,或者输入的值无效,都不会结束循环,只有遇到 break 语句,或者按下 Ctrl+D 组合键才能结束循环;
执行命令过程中: 终端会输出 #?
代表可以输入选择的菜单编号;
select in 是 Shell 独有的一种循环,非常适合终端(Terminal)这样的交互场景, 其他语言没有;
应用场景 脚本:
结果: