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

ste*_*ang 8 command-line shell files command

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

./
../
rb-script/
    sample1.rb
    sample2.rb
Run Code Online (Sandbox Code Playgroud)

sr_*_*sr_ 10

沿线的东西(取决于你的外壳)

for file in rb-script/*.rb; do ruby "$file"; done
Run Code Online (Sandbox Code Playgroud)

应该做的伎俩;或者(我认为独立于外壳)

find rb-script -type f -exec ruby "{}" \;
Run Code Online (Sandbox Code Playgroud)

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

find rb-script -maxdepth 1 -type f -name '*.rb' -exec ruby "{}" \;
Run Code Online (Sandbox Code Playgroud)

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