现在的位置: 首页 > 综合 > 正文

【BASH】运行目录下面的所有脚本

2014年02月08日 ⁄ 综合 ⁄ 共 386字 ⁄ 字号 评论关闭

 

问题:

你期望运行一系列的脚本,这些脚本名字不断变化,并且你总是不停的添加新的脚本,但是你不希望总是更改主脚本。

 

解决方案:

将所有要运行的脚本放入同一个目录,让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将会去执行他。

这个简单的例子里面,不能够给脚本指定参数。这个完成个人的小事情可以,但是鲁棒性不好,有时候还被认为是完全危险的。不过这里只不过是给出了一个脚本编程的风格而已。

 

抱歉!评论已关闭.