name="Rahul Kapgate arg"
temp=$name
./a.out -a "$temp"
这会给我一个以下输出:: Rahul Kapgate arg
如果我将以下逻辑放在./a.out -a "$temp"
,那么它将产生不同的输出。
cmd="./a.out -a \"$temp\""
$cmd
输出:: "Rahul
[a.out只是通过C unsing optarg()打印第一个参数)
我希望使用第二个选项plz帮助我生成相同的输出。
答案 0 :(得分:1)
正如the link provided by Ignacio中的信息所示,您应该尽量避免将命令放在变量中。但是,这可能适合您(也基于那里的信息):
cmd="./a.out"
args=(-a "$temp")
$cmd "${args[@]}"