繁体   English   中英

使用包含whitespce的参数调用另一个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 "$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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM