如何对文件夹内的所有文件执行一个命令

如何对文件夹内的所有文件执行一个命令

说,我有这棵树,我想执行ruby该文件夹中的所有脚本。我怎样才能通过存档一行命令

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

答案1

类似的东西(取决于你的外壳)

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

应该可以解决问题;或者(我认为与 shell 无关)

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

使用find;根据您的情况,您可以更具体,à la

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

一般来说,如果接受多个文件(并且文件数量少于 shell 的命令行参数最大值),command <glob-pattern>也可以工作,但我怀疑是否会这样做。 (不过,您可以编写一个包装脚本来执行您想要的操作。)commandrubyruby-wrapper rb-script/*.rb

答案2

如果这是守护进程的一部分,您可以使用运行部件命令按字母顺序执行文件夹中的所有内容。如果您需要以相反的顺序执行关闭命令,则此命令特别有用。

相关内容