Shell脚本的for循环结构和C语言很不一样,它类似于某些编程语言的foreach循环。例如:
#! /bin/sh for FRUIT in apple banana pear; do echo "I like $FRUIT" done
FRUIT是一个循环变量,第一次循环$FRUIT的取值是apple,第二次取值是banana,第三次取值是pear。再比如,要将当前目录下的chap0、chap1、chap2等文件名改为chap0~、chap1~、chap2~等(按惯例,末尾有~字符的文件名表示临时文件),这个命令可以这样写:
$ for FILENAME in chap?; do mv $FILENAME $FILENAME~; done
也可以这样写:
$ for FILENAME in `ls chap?`; do mv $FILENAME $FILENAME~; done
本文通过两个示例介绍了Shell脚本中for循环的基本用法。第一个示例展示了如何使用for循环输出一系列字符串;第二个示例则演示了如何利用for循环结合文件重命名命令mv来批量修改文件名。

被折叠的 条评论
为什么被折叠?



