如何将所有参数传递给另一个命令,其中一些参数引用并包含空格?



我想通过curl传递多个参数。其中一些参数加引号并包含空格。

我已经试过了:

ARGS="http://example.org -H 'My-Header: Foo'"
curl -vvv $ARGS

但我的头没有设置,我得到一个错误在结束curl: (6) Could not resolve host: Foo'

我也试过这样引用ARGS:

ARGS="http://example.org -H 'My-Header: Foo'"
curl -vvv "$ARGS"

但是我得到了curl: (3) URL using bad/illegal format or missing URL

如果我直接用参数运行curl,那么它工作得很好:

curl -vvv http://example.org -H 'My-Header: Foo'

如何将这些参数正确地传递给curl?

有一个名为eval的命令,它将所有参数计算为一个字符串,然后将其作为一个大命令运行。

试试eval curl $ARGS

我建议你检查eval的手册页;)

最新更新