我在AWS上使用Ubuntu。
我试着输入这个:
curl https://www.google.com/?1但它总是得到这样的结果:
curl https://www.google.com/\?1还有一个额外的反斜杠\。
为什么会发生这种情况?如果我不在curl之后输入它,那么\就不会出现。curl如何修改我的外壳?
发布于 2019-10-13 19:53:12
问号在shell中有特殊的含义。在shell中,反斜杠也有特殊的含义:它是一个转义字符,从后面的字符中删除了特殊含义。
看起来你只是想把问号当作问号来使用,而不是用它的特殊含义。因此,您必须对其进行转义,即在其上添加反斜杠。否则,您输入的命令将表示不同的含义,并且可能不会执行您想要执行的操作。
为什么会发生这种情况?
看起来您的shell试图通过为您添加反斜杠来帮助您。如果你百分之百确定你确实想要问号的特殊行为,那么你可以简单地删除反斜杠。
如果你百分之百确定,你总是比编写shell的程序员更了解shell是如何工作的,我敢肯定,有一些方法可以关闭这个功能。
注意:执行此操作的可能不是shell。更有可能的是,shell支持一些钩子函数来帮助输入,并且您已经设置了一个钩子函数来为您完成这些类型的修改。
curl如何修改我的外壳?
简单的基本逻辑告诉你,不可能是curl在做这件事,因为它发生在你输入命令的时候。显然,在您按回车键之前,curl甚至没有运行,所以很明显,如果它不运行,它将无法执行任何操作。
https://stackoverflow.com/questions/58363230
复制相似问题