Shell流程控制语句for

  for语法格式:

for 变量 in 参数列表
do
    命令
done

或者
for 变量 in 参数列表 ; do
    命令
done

  for语句流程控制图:

  实例:

[root@youxi1 ~]# vim a.sh
#!/bin/bash
for var in a1 a2 b1 b2
do
 echo $var
done
[root@youxi1 ~]# sh a.sh
a1
a2
b1
b2

  参数列表可以更复杂些,部分特殊符号需要转义

[root@youxi1 ~]# vim b.sh
#!/bin/bash
for var in I\'m "hello world" "c1 c2 d1 d2"
do
 echo $var
done
[root@youxi1 ~]# sh b.sh 
I'm
hello world
c1 c2 d1 d2

  参数列表还可以从变量中读取,可以是多个变量

[root@youxi1 ~]# vim c.sh
#!/bin/bash
list="e1 e2 f1 f2"
list2="hello world"
for var in $list $list2
do
 echo $var
done
[root@youxi1 ~]# sh c.sh 
e1
e2
f1
f2
hello
world

  参数列表还可以从命令中取值

[root@youxi1 ~]# vim d.sh
#!/bin/bash
for var in `head -5 /etc/passwd`
do
 echo $var
done
[root@youxi1 ~]# sh d.sh 
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

  

猜你喜欢

转载自www.cnblogs.com/diantong/p/11697268.html