一、for命令
1.1 格式如下:
for var in listdo
commands
done
或者
for var in list;do
commands
done
var从list依次取出数值,执行command的命令。注意默认是以空格,tab,换行符作为分界。
1.2 更改字段分隔符
如果需要多种分隔符,如冒号、双引号、换行符均作为分隔符,如下方式修改
IFS= $':"\n'
保险起见,可以先保存IFS原先的值,改完之后还原就可。
1.3 用通配符读取目录
如:
for var in $HOME/*
do
if [ -d $var ];then
echo "$var is a dirtory"
elif [ -f $var ];then
echo "$var is a file"
fi
done
上述代码会取出HOME下所有的文件进行匹配。需要注意的是,对于文件或目录名存在空格的,脚本里要注意判断,否则出错
1.4 c语言风格的for循环
格式如下(括号前后有空格):
for (( variable assignmen; condition; process ))
do
commands
done
for(( i=1;i<10;i++ ))
跟bash shell的for命令标准有以1下区别;
1、引用变量时未加美元符
2、数值计算时未使用expr,直接运算
二、while命令
2.1 格式
while test command
do
commands
done
或者(注意[]有空格)
while [ condition ]
do
commands
done
三、until命令
3.1 格式
until test command
do
command
done
或者(注意[]有空格)
until [ condition ];do
commands
done
四、控制循环
跟C语言一样,break跳出循环,continue结束本次循环
4.1 break命令
4.2 continue命令