如何将变量传递到字符串中以用作非文件命令行参数的一部分?

如何将变量传递到字符串中以用作非文件命令行参数的一部分?

我想要运行的命令行命令是 mkvmerge 命令:

mkvmerge arguments: [-o] [output_filename] [-a] [tracknumer] [-S] [source_filename]

所以我有一个变量command,它根据满足某些条件而取值-a 1-a 1 -S-S,所以我在 bash 脚本中使用这个 if 语句来运行命令

if [[ ! -z $command ]]; then
    mkvmerge -o "${file}"$command "$sourcefile"
fi

我之所以$command在旁边${file}没有空格,是因为$command包含一个前导空格。我遇到的问题是,当我运行脚本时,它假设 $command 是文件名的一部分,而不是文件名后面的附加参数。

相关内容