Curl 复选标记的含义
大家好,我有一个关于“curl”解析器在linux命令行中如何工作的问题: 我在jokto linux系统上工作,在那里我编写命令行指令: 我想知道有复选标记和没有复选标记有什么区别 带有复选标记的命令行: curl'?$sortby=name'>data.json 不带复选标记的命令行: curl-i?$sortby=name>data.json 带有复选标记的命令将返回http 200OK和json格式的排序响应。另一个没有复选标记的命令也为我带来了200OK,但响应是未排序的。 我不知道为什么Curl 复选标记的含义,curl,embedded-linux,command-line-arguments,Curl,Embedded Linux,Command Line Arguments,大家好,我有一个关于“curl”解析器在linux命令行中如何工作的问题: 我在jokto linux系统上工作,在那里我编写命令行指令: 我想知道有复选标记和没有复选标记有什么区别 带有复选标记的命令行: curl'?$sortby=name'>data.json 不带复选标记的命令行: curl-i?$sortby=name>data.json 带有复选标记的命令将返回http 200OK和json格式的排序响应。另一个没有复选标记的命令也为我带来了200OK,但响应是未排序的。 我不知道为
感谢您的反馈首先,这些被称为单引号,而不是复选标记。这是一个复选标记:✓ Bash将单引号理解为保护论点的文本不受解释的影响。通常,单引号中的任何内容都不会有特殊含义,并且会被解释为纯文本 没有它们,
?
和$
对bash有特殊意义:?
参与“全局绑定”(扩展文件名以匹配模式,其中?
是单个字符的占位符),而$
参与变量扩展($sortby
将被变量sortby
的值替换)
?
可能与任何内容都不匹配,因此将被单独保留,但是$sortby
由于变量可能未定义,将被空字符串替换。最终结果是在curl
看到参数之前,如果未引用,它将被转换,很可能变成http://localhost:80/uri/?=name
-不是wh只要你愿意
如果有更多的字符出现,会使命令行更加混乱;例如,!
、&
、括号等。最好总是引用URI。复选标记(✓代码>)在shell中没有特殊意义
用单引号(“
)引用的字符串,其停止字符具有特殊含义(例如,&
不会将脚本置于后台,$
不会启动变量)
进一步阅读:
谢谢你的正确答案。很抱歉,我的谷歌翻译将我从德语=“Häckchen”翻译成英语=“checkmarks”,而不是引号。但通常我知道这个词