Shell 流程控制 - for 循环
简介
-
for 部分大致有一下几种写法
- ‘ ` ` ’ :反引号写法。
for var in `seq 2 2 10`
- ’ $() ’ :美元符号加圆括号。
for var in $(seq 2 2 10)
- ’ 直接列出 。'
for var in 1 2 3
- ’ { } ’ :大括号。
for var in {10..1}
- ’ (( )) ’ :双圆括号。
for ((var=0;var<10;var++))
- ‘ ` ` ’ :反引号写法。
-
’ do ’ :后面为循环要执行的命令。
-
’ done ’ :循环结构结束的标志。
-
for (( ; ; ))
:无限循环。 -
循环的退出:
- ’ continue ':终止当此次前循环提前进入下个循环 。
- ’ break ’ :终止当前所在语句所有动作进行语句外的其他动作 。
- ’ exit ’ :脚本退出 。
-
语法格式
for var in item1 item2 ... itemN
do
command1
command2
...
commandN
done
参考文章
- 官方文档:https://www.gnu.org/software/bash/manual/bash.html#Looping-Constructs
- 参考文章:https://www.runoob.com/linux/linux-shell-process-control.html
示例
- ‘ ` ` ’ :反引号写法。
[root@ for]# cat test.sh
#!/bin/bash
for var in `seq 2 2 10`
do
echo $var
done
[root@ for]# sh test.sh
2
4
6
8
10
[root@ for]#
- ’ $() ’ :美元符号加圆括号。
[root@ for]# cat test.sh
#!/bin/bash
for var in $(seq 2 2 10)
do
echo $var
done
[root@ for]# sh test.sh
2
4
6
8
10
[root@ for]#
- ’ 直接列出 。'
[root@ for]# cat test.sh
#!/bin/bash
for var in 1 2 3
do
echo $var
done
[root@ for]# sh test.sh
1
2
3
[root@ for]#
- ’ { } ’ :大括号。
[root@ for]# cat test.sh
#!/bin/bash
for var in {5..1}
do
echo $var
done
[root@ for]# sh test.sh
5
4
3
2
1
[root@ for]#
- ’ (( )) ’ :双圆括号。
[root@ for]# cat test.sh
#!/bin/bash
for ((var=0;var<5;var++ ))
do
echo $var
done
[root@ for]# sh test.sh
0
1
2
3
4
[root@ for]#