一、for循环语法结构
1. for 变量 in 列表;do 循环体;done
[root@localhost sed_test]# for i in {2,4,6,8};do echo $i;done
2
4
6
8
[root@localhost sed_test]# for i in {1..5};do echo $i;done
1
2
3
4
5
[root@localhost sed_test]# for i in user{1,4,6};do echo $i;done
user1
user4
user6
[root@localhost sed_test]# for i in {2,4,20};do echo $(($i*3));done
6
12
60
[root@localhost sed_test]# sum=0
[root@localhost sed_test]# echo "$sum"
0
[root@localhost sed_test]# for i in {1..10};do let sum+=$i;done
[root@localhost sed_test]# echo "$sum"
55
[root@localhost sed_test]# for i in `ls`;do echo $i;done
linshi.txt
passwd_bak.txt
sort_test.txt
[root@localhost sed_test]# ll
total 12
-rw-r--r--. 1 root root 1166 May 17 20:51 linshi.txt
-rw-r--r--. 1 root root 1089 May 16 16:45 passwd_bak.txt
-rw-r--r--. 1 root root 39 May 17 20:52 sort_test.txt
[root@localhost sed_test]# for i in *.txt;do echo $i;done
linshi.txt
passwd_bak.txt
sort_test.txt
[root@localhost sed_test]# for i in 2 3 6 8;do echo $i;done
2
3
6
8
for循环的列表生成方式:
1、{n..m}:通过花括号,中间是变量的遍历范围,从n到m都为变量的遍历;例如:{1..5},就是1,2,3,4,5
2、seq[起始数 [步进长度] 结束数:seq 1 2 10那么变量的遍历值就是1,3,5,7,9,超过10就退出遍历;
[root@localhost sed_test]# for i in `seq 1 2 10`;do echo $i;done
1
3
5
7
9
[root@localhost sed_test]#
2. for ((变量=初始值;变量范围;变量变化方式));do 循环体;done
[root@localhost sed_test]# sum=0
[root@localhost sed_test]# echo "$sum"
0
[root@localhost sed_test]# for ((i=1;i<=10;i++));do let sum+=$i;done
[root@localhost sed_test]# echo "$sum"
55
[root@localhost sed_test]# for ((i=0;i<=5;i++));do echo $i;done
0
1
2
3
4
5