Shell

如何對文件夾中的所有文件執行一個命令

  • March 10, 2012

說,我有這棵樹,我想ruby在文件夾中的所有腳本上執行。我怎麼能通過一行命令存檔。

./
../
rb-script/
   sample1.rb
   sample2.rb

類似的東西(取決於你的外殼)

for file in rb-script/*.rb; do ruby "$file"; done

應該做的伎倆;或者(我認為獨立於外殼)

find rb-script -type f -exec ruby "{}" \;

使用find;根據您的情況,您可以在哪裡更具體,à la

find rb-script -maxdepth 1 -type f -name '*.rb' -exec ruby "{}" \;

一般來說,command <glob-pattern>如果command接受多個文件(並且文件少於 shell 的命令行參數最大值),它也可以工作,但我懷疑ruby這樣做。(不過,您可以編寫一個包裝器腳本ruby-wrapper rb-script/*.rb來執行您想要的操作。)

引用自:https://unix.stackexchange.com/questions/33895