vam*_*hna 4 shell shell-script
我在以字母“a”开头的目录中有许多 shell 脚本。我怎么能一次性执行所有这些 shell 脚本?我们可以开发任何其他小脚本来运行它吗?
mal*_*lyy 10
命令行:
for each in path_to_directory/a*.sh ; do bash $each ; done
Run Code Online (Sandbox Code Playgroud)
例子:
:~$ ll | grep \.sh
-rw-rw-r-- 1 user user 1476 ??? 25 16:07 123.sh
-rw-rw-r-- 1 user user 1176 ??? 25 16:09 222.sh
-rw-rw-r-- 1 user user 419 ??? 20 14:03 2.sh
-rw-rw-r-- 1 user user 191 ??? 20 17:50 3.sh
-rw-rw-r-- 1 user user 9 ??? 2 11:53 a1.sh
-rw-rw-r-- 1 user user 9 ??? 2 11:53 a2.sh
i:~$ cat q1.sh
echo sadf
:~$ cat a1.sh
echo 123
:~$ cat a2.sh
echo 234
:~$ for each in ./a*.sh ; do bash $each ; done
123
234
Run Code Online (Sandbox Code Playgroud)
或者,您可以使用名为 run-parts 的命令行实用程序。该工具可以自动发现一个目录中的多个脚本或程序,并将它们全部运行。
例如,要运行 /etc 中名称以“a”开头并以“.sh”结尾的所有脚本:
$ run-parts --regex '^a.*\.sh$' /etc
Run Code Online (Sandbox Code Playgroud)
使用“--test”选项,您可以打印将要执行的脚本的名称,而无需实际运行它们。这对于测试目的很有用
$ run-parts --test ./my_script_directory
Run Code Online (Sandbox Code Playgroud)