为什么开始用反斜杠shell命令?(Why start a shell command with a

2019-08-18 04:04发布

\curl -L https://get.rvm.io | bash -s stable

为什么开始的命令\ ? 这是我看到了它的网站。

Answer 1:

alias curl='curl --some --default --options'

如果你有一个别名curl ,你不想使用它,把一个反斜杠前禁用别名,直接运行卷曲二进制文件。

请注意,这仅适用于交互式shell。 别名不生效,在脚本中,这样便无须在那里。



Answer 2:

的(伯恩/ POSIX)壳说明书说,当命令字的任何字符被引述在交互式壳别名替代被抑制。 反斜线是做到这一点的一种方式,但也有其他众所周知的方式来报价:单引号和双引号。 下面的一切将抑制别名替代:

 \curl
 cur\l
 \c\u\r\l
 "c"url
 "curl"
 "c""u""r""l"
 'curl'
 'cu'"rl"

使用\curl仅仅是最常见,最可读的方式。 由于这是一个标准化的功能,你可以期望它在所有的Bourne遗产弹工作。

\curl看起来有点像TeX的命令,不是吗? :-)



文章来源: Why start a shell command with a backslash?
标签: bash shell