问题:
你期望运行一系列的脚本,这些脚本名字不断变化,并且你总是不停的添加新的脚本,但是你不希望总是更改主脚本。
解决方案:
将所有要运行的脚本放入同一个目录,让bash去运行。Bash去查找目录下的脚本而不是维护一个要运行的脚本的列表。
for SCRIPT in /path/to/scripts/dir/*
do
if [ -f $SCRIPT -a -x $SCRIPT ]
then
$SCRIPT
fi
done
讨论:
for循环和if语句后面会详细说,这里只是一个小甜头而已。通配符'*'匹配到的当前目录下面的文件(dot文件除外,比如.vimrc),如果是一个文件(-f测试)并且是可执行的(-x测试),那么shell将会去执行他。
这个简单的例子里面,不能够给脚本指定参数。这个完成个人的小事情可以,但是鲁棒性不好,有时候还被认为是完全危险的。不过这里只不过是给出了一个脚本编程的风格而已。