使用包含空格的参数调用另一个 shell 脚本
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 ""
echo ""
echo ""
echo ""
执行脚本A后,得到如下结果:
一个
"b
c
d
我的预期结果是:
一个
b c
d
谁能告诉我原因,以及如何更改以获得预期结果,在此先感谢。
要使用空格存储多个参数,最好使用 shell 数组:
ARGS=(a "b c" d)
并将脚本调用为
./foo.sh "${ARGS[@]}"
这将打印:
a
b c
d
脚本 A:
#!/bin/bash
. foo.sh
ARGS="a \"b c\" d"
./foo.sh $ARGS
脚本 foo:
#!/bin/bash
echo ""
echo ""
echo ""
echo ""
执行脚本A后,得到如下结果:
一个
"b
c
d
我的预期结果是:
一个
b c
d
谁能告诉我原因,以及如何更改以获得预期结果,在此先感谢。
要使用空格存储多个参数,最好使用 shell 数组:
ARGS=(a "b c" d)
并将脚本调用为
./foo.sh "${ARGS[@]}"
这将打印:
a
b c
d