for 变量名in 列表;do
循环体
done
执行机制:
依次将列表中的元素赋值给“变量名”; 每次赋值后即执行一次循环体; 直到列表中的元素耗尽,循环结束
列表生成方式:
(1) 直接给出列表
(2) 整数列表:
(a) {start..end}
(b) $(seq[start [step]] end)
(3) 返回列表的命令
$(COMMAND)
(4) 使用glob,如:*.sh
(5) 变量引用;
$@, $*
练习题 for 实现
1、判断/var/目录下所有文件的类型
2、添加10个用户user1-user10,密码同用户名
删除上用户
3、/etc/rc.d/rc3.d目录下分别有多个以K开头和以S开头的文件;分别读取每个文件,以K开头的文件输出为文件加stop,以S开头的文件输出为文件名加start;
“K34filename stop”
“S66filename start”
4、写一个脚本,提示输入正整数n的值,计算1+2+3+…n的总和
判断整数
5、写一个脚本,提示请输入网络地址,如192.168.0.0,判断输入的网段中主机在线状态
6、打印九九乘法表
while CONDITION; do
循环体
done
CONDITION:循环控制条件;进入循环之前,先做一次判断;每一次循环之后会再次做判断;条件为“true”,则执行一次循环;直到条件测试状态为“false”终止循环
因此:CONDTION一般应该有循环控制变量;而此变量的值会在循环体不断地被修正
进入条件:CONDITION为true;
退出条件:CONDITION为false
1、求100以内所有正整数之和
2、通过ping命令探测172.16.250.1-254范围内的所有主机的在线状态,统计在线主机和离线主机各多少。
3、打印九九乘法表
4、利用变量RANDOM生成10个随机数字,输出这个10数字,并显示其中的最大者和最小者
5、打印国际象棋棋盘
until CONDITION; do
循环体
done
进入条件:CONDITION 为false
退出条件:CONDITION 为true
用于循环体中
continue [N]:提前结束第N层的本轮循环,而直接进入下一轮判断;最内层为第1层
while CONDTIITON1; do
CMD1
…
if CONDITION2; then
continue
fi
CMDn
…
done
用于循环体中
break [N]:提前结束第N层循环,最内层为第1层
while CONDTIITON1; do
CMD1
…
if CONDITION2; then
break
fi
CMDn
…
done
while true; do
循环体
done
until false; do
循环体
Done
原创文章,作者:Nicolas ZhaoIV,如若转载,请注明出处:http://www.178linux.com/36313