[英]Call another shell script with argument which contains whitespce
脚本A:
#!/bin/bash
. foo.sh
ARGS="a \"b c\" d"
./foo.sh $ARGS
脚本foo:
#!/bin/bash
echo "$1"
echo "$2"
echo "$3"
echo "$4"
执行脚本A后,得到以下结果:
一种
“b
C”
d
我的预期结果是:
一种
公元前
d
有人可以告诉我原因,以及如何更改以获得预期的结果,谢谢。
为了更好地使用空格存储多个参数以使用shell数组,请执行以下操作:
ARGS=(a "b c" d)
并调用脚本为
./foo.sh "${ARGS[@]}"
这将打印:
a
b c
d
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.