shell之流程控制

shell里面也有流程控制,其使用方法与C和Java类似,不过也存在差别

if else

if

语法格式

1
2
3
4
5
6
7
if condition
then
command1
command2
...
commandN
fi

if语句也可以写在一行

1
if [ $(ps -ef | grep -c "ssh") -gt 1 ]; then echo "true"; fi

if else

语法格式

1
2
3
4
5
6
7
8
9
if condition
then
command1
command2
...
commandN
else
command
fi

if else-if else

语法格式

1
2
3
4
5
6
7
8
9
if condition1
then
command1
elif condition2
then
command2
else
commandN
fi

for循环

语法格式

1
2
3
4
5
6
7
for var in item1 item2 ... itemN
do
command1
command2
...
commandN
done

也可以写成一行

1
for var in item1 item2 ... itemN; do command1; command2… done;

while循环

语法格式

1
2
3
4
while condition
do
command
done

无限循环

1
2
3
4
while :
do
command
done
1
2
3
4
while true
do
command
done
1
for (( ; ; ))

until循环

until循环执行一系列命令直至条件为true时停止
语法格式

1
2
3
4
until condition
do
command
done

case

用case语句匹配一个值与一个模式,如果匹配成功,执行相匹配的命令
语法格式

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
casein
模式1)
command1
command2
...
commandN
;;
模式2)
command1
command2
...
commandN
;;
*)
command1
command2
...
commandN
;;
esac

跳出循环

break

break命令允许跳出所有循环

continue

continue跳出当前循环

Donate comment here