我有一个变量:
var='aaa bbb "ccc ddd"'
并且以下参数打印./script.sh
:
#!/bin/bash
for arg in "$@"; do
echo "$arg"
done
预期结果:
$ ./script.sh $var
aaa
bbb
ccc ddd
实际结果:
$ ./script.sh $var
aaa
bbb
"ccc
ddd"
$ ./script.sh "$var"
aaa bbb "ccc ddd"
$ ./script.sh ${var@Q}
'aaa
bbb
"ccc
ddd"'
有办法让它发生吗?
我无法控制$var
——例如,它不能是一个数组。
找到了解决方案!
$ echo "$var" | xargs ./script
aaa
bbb
ccc ddd