shell中的“$@”用引号分隔参数,即使它不应该用引号分隔

2024-06-25 23:12:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试解析python程序的shell脚本中的参数。我们使用的包装器接受命令行参数并调用正确的python模块
出于某种原因,它不断地用双引号将我传递的arg分开。我就是这样得到args的:

args="$@"

然后我跑:

runner.sh --host="XHOST 1"

或者

runner.sh --host "XHOST 1"

“$@”将“XHOST 1”分为XHOST和1两个独立的标记。
首先,我一直尝试使用“$*”,但没有成功。现在我使用$@并且它一直在分裂args。这是在rhel-7.2机器上测试的

有没有另一种方法来解析shell参数,以便在用引号括起来时将它们作为一个标记来保存?我是不是漏了什么


Tags: 模块标记程序脚本host参数sharg