For循环语法结构
列表循环
列表for循环:用于将一组命令执行已知的次数
- 基本语法格式
//打印一到五
[root@localhost ~]# cat for.sh
#!/bin/bash
for i in {1..5}
do
echo $i
done
//执行
[root@localhost ~]# ./for.sh
1
2
3
4
5
[root@localhost ~]# cat for.sh
#!/bin/bash
for i in {1..5}
do
echo hello world
done
[root@localhost ~]# ./for.sh
hello world
hello world
hello world
hello world
hello world
[root@localhost ~]# cat for.sh
#!/bin/bash
for i in a b c d
do
echo $i
done
[root@localhost ~]# ./for.sh
a
b
c
d
//打印0到50的偶数
[root@localhost ~]# cat for.sh
#!/bin/bash
for i in {0..50..2}
do
echo $i
done
[root@localhost ~]# ./for.sh
0
2
4
6
8
10
12
14
16
18
20
22
24
26
28
30
32
34
36
38
40
42
44
46
48
50
//命令行打印一到一百奇数
[root@localhost ~]# for i in {1..100..3};do echo $i; done
1
4
7
10
13
......
//使用seq打印10到1,中间-1是步长
[root@localhost ~]# seq 10 -1 1
10
9
8
7
6
5
4
3
2
1
//使用seq打印1到10的奇数
[root@localhost ~]# seq 1 2 10
1
3
5
7
9
不带列表循环
不带列表的for循环执行时由用户指定参数和参数的个数
- 基本语法格式
for variable
do
command
command
...
done
- 举例说明
[root@localhost ~]# cat for.sh
#!/bin/bash
for i
do
echo $i
done
[root@localhost ~]# ./for.sh a b c
a
b
c
[root@localhost ~]# cat for.sh
#!/bin/bash
for i
do
echo hello world
done
[root@localhost ~]# ./for.sh a b 1 2
hello world
hello world
hello world
hello world
类C风格的for循环
- 基本语法结构
for (( expr1;expr2;expr3))
do
command
command
...
done
for (( i=1;i<=5;i++ ))
do
echo $i
done
expr1:定义变量并赋初值
expr2:决定是否进入循环的条件
expr3:决定循环变量如何改变,决定循环什么时候退出
//打印1到10
[root@