我想在 zsh 中运行curl 命令。
curl -X GET "https://api.cloudflare.com/client/v4/zones/<ZONE>" \
-H "Content-Type:application/json" \
-H "Authorization: Bearer <TOKEN>"
Run Code Online (Sandbox Code Playgroud)
但是当运行这个我得到
{"success":false,"errors":[{"code":9106,"message":"Missing X-Auth-Email header"},{"code":9107,"message":"Missing X-Auth-Key header"}],"messages":[],"result":null}curl: (3) URL using bad/illegal format or missing URL
zsh: command not found: -H
zsh: command not found: -H
Run Code Online (Sandbox Code Playgroud)
除了错误响应之外。为什么到我zsh: command not found: -H
这里就意味着该选项-H
被忽略了。
代码中的每个\
字符都会转义后面的空格字符。转义空格的行为类似于带引号的空格。您的代码不仅会生成空格单词(而且您不想要这些单词)。反斜杠转义空格,因此它们不会转义换行符。实际上,您的代码由三个单独的命令组成;其中两个以-H
和 开头,毫无意义。就好像你运行:
curl -X GET "https://api.cloudflare.com/client/v4/zones/<ZONE>" ' '
-H "Content-Type:application/json" ' '
-H "Authorization: Bearer <TOKEN>"
Run Code Online (Sandbox Code Playgroud)
这里的空格被引用,在您的代码中它们被转义。结果是相同的。
要在下一行继续执行命令,您需要转义换行符。
删除字符后面的空格\
。两个反斜杠中的每一个都应该紧接在各自的换行符之前。然后这三行将被解释为一个命令。
这不是特定于zsh
.
归档时间: |
|
查看次数: |
10259 次 |
最近记录: |