如何在 bash 脚本中使用动态 options/arguments 执行命令

HowTo exec cmd with dynamic options/arguments in bash script

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

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

如何fiddle这一行来获取数组中选项的动态范围?

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

另外,对于带空格的文件名,将文件名用双引号括起来也很重要。

这正是数组的设计目的。

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