Bash脚本:需要将变量扩展结果传递给另一个带双引号的脚本

时间:2016-06-23 08:09:26

标签: bash quotes

我有一个可执行代码编译的可执行文件,可以按如下方式执行:

./goclient -id 10 -env test -args "testarg -testflag_in_args blah blah2"

本质上,args标志包含多个参数的长字符串,因此输入需要如上所述双引号。

我有另一个执行上述可执行文件的脚本,如下所示:

./goclient -id 10 -env test -args "${config_options[@]}"

问题是在config_options扩展后,我无法将变量扩展结果包装成双引号。因此,可执行文件认为只有testarg作为-args的输入传入,而-testflag被视为goclient的标志,goclient无法识别并抱怨。

如何将"${config_options[@]}"的扩展包装在双引号中以传递给-args?我已经尝试了各种各样的东西,比如已经绕过它的双引号。使用eval有效,但由于安全问题,我被告知不要使用它。谢谢!

0 个答案:

没有答案