我想通过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的手册页;)