我注意到 ZSH 中任何 cURL 请求的返回都以%
, 例如:
$ curl http://textbelt.com/text -d number="555555555" -d message="hey"
=> { "success": true }%
为什么要添加这个字符?是否有删除它的标准方法?
注意:ZSH 是我注意到发生这种情况的唯一 shell(在 bash csh ksh sh tcsh zsh 中测试)
这是一个zshfeature命令完成后打印百分比和换行符if该命令尚未在其输出末尾包含换行符。如果 zsh 没有这样做,您要么不会注意到该命令没有打印换行符,要么您会看到 zsh 的命令提示符not从边缘开始,认为这是 zsh 中的一个错误。
像curl这样的工具会严格地打印从源头获得的任何结果,并且在没有要求的情况下决不应该自发地打印换行符。我最常在curl 中看到这种行为。如果您正在编写使用curl的工具,您当然可以选择自己添加换行符。
我建议除非确实必要,否则不要添加换行符。如果您确实想添加换行符,则可以使用单独的工具(例如 echo) - 但使用curl最简单的是“写出”选项:
$ curl http://api.macvendors.com/0015c7
Cisco Systems, Inc%
$ curl -w '\n' http://api.macvendors.com/0015c7
Cisco Systems, Inc
$
来自curl 的手册页:
-w, --write-out <format>
Make curl display information on stdout after a completed transfer. The format is a string that may contain plain text
mixed with any number of variables. The format can be specified as a literal "string", or you can have curl read the for-
mat from a file with "@filename" and to tell curl to read the format from stdin you write "@-".
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)