我有一个可执行代码编译的可执行文件,可以按如下方式执行:
./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
有效,但由于安全问题,我被告知不要使用它。谢谢!