for循环
for循环的格式如下:
for 变量 in 变量列表
do
...
done
其中变量是在当前循环中使用的一个对象,用来接收变量列表中的元素;变量列表是整个循环要操作的对象的集合,可以是字符串集合或文件名、参数等等,变量列表的值会被逐个赋给变量。
下面通过案例来展示for循环的用法。
案例7:使用for循环输出月份列表中的12个月份。
1 #!/bin/sh
2 for month in Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
3 do
4 echo -e "$month\t\c"
5 done
6 echo
7 exit 0
执行该脚本,输出的结果如下:
Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
需要注意的是,变量列表中的每个变量可以使用引号单独引起,但是不能将整个列表置于一对引号中,因为使用一对引号引起的值,会被视为一个变量。
案例8:在当前目录的itheima文件夹中存放着多个以.bxg为后缀的文件,使用for循环将目录itheima中的所有以.bxg结尾的文件删除。
1 #!/bin/sh
2 for file in ~/itheima/*.bxg
3 do
4 rm $file
5 echo "$file has been deleted."
6 done
7 exit 0
其中表示通配符,.bxg表示文件名以.bxg结尾的文件。执行该脚本,执行结果如下:
/home/itheima/itheima/11.bxg has been deleted.
/home/itheima/itheima/22.bxg has been deleted.
/home/itheima/itheima/33.bxg has been deleted.