如何在bash脚本中使用动态选项/参数执行cmd

时间:2019-02-08 20:11:00

标签: bash arguments exec options

我在bash脚本中使用此行来执行具有定义数量的选项/参数的命令

message=$(mp3wrap "$file_out.mp3" "$file_in_1" "file_in_2" 2>&1 && echo "Success")

我如何摆弄这行代码以获取数组中动态范围的选项?

例如,我必须从myarray用2、4或6个“文件ins”调用“ mp3wrap”。如果我在变量中使用空格将文件名连接起来,则它会作为一个选项解释,并且失败。

对于带空格的文件名,文件名必须用双引号引起来。

1 个答案:

答案 0 :(得分:1)

这正是数组设计的目的。

files=(file_in_1 file_in_2 file_in_3)
message=$(mp3wrap file_out.mp3 "${files[@]}" 2>&1 && echo "Success")