Linux 執行目錄下所有 Script

本文關於在 Linux 下如果想一次過執行目錄下所有 Script 的方法。

在 Linux 下要執行目錄下所有 Script, 可以逐一把 Script 敲入鍵盤, 例如:

$ ./script.sh
$ ./script2.sh
$ ./script3.sh
……

除了這樣逐一輸入外, 可以用以下三種方法一次把目錄下的 Script 執行:

run-parts 指令

使用 run-parts 指令, 例如想執行 /home/opencli/test/ 目錄下所有以 “.sh” 結尾的 Script, 可以用以下指令:

$ run-parts –regex ‘.*sh$’ /home/opencli/test/

run-parts 也支援正規表逹式, 例如想執行所有以 “s” 字元開頭, 並以 “.sh” 結尾的檔案, 可以用以下指令:

$ run-parts –regex ‘^s.*sh$’ /home/opencli/test/

find 指令


find 指令主要用途是搜尋檔案, 而它的其中一個參數 “-exec”, 是可以對找到的檔案執行指令, 使用方法如下:

$ find /home/opencli/test/ -maxdepth 1 -type f -executable -name ‘*.sh’ -exec {} \;

以上指令會把 /home/opencli/test/ 目錄下, 所以有 “.sh” 結尾的檔案執行。

如果想把目錄下的子目錄內的檔案也一同執行, 只要將上面指令移除 “maxdepth” 選項便可以:

$ find /home/opencli/test/ -type f -executable -name ‘*.sh’ -exec {} \;

for

使用 Shell Script 的 for, 也可以做到相同的效果:

$ for f in /home/opencli/test/*.sh ; do [ -x “$f” ] && [ ! -d “$f” ] && “$f” ; done


你可能感興趣的內容:

Leave a Reply