为什么用反斜杠启动shell命令?

时间:2013-03-28 20:55:54

标签: bash shell

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

为什么命令以\开头? This is the site where I saw it.

2 个答案:

答案 0 :(得分:182)

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

如果你有curl的别名并且你不想使用它,那么在前面添加一个反斜杠会禁用别名并直接运行curl二进制文件。

请注意,这仅适用于交互式shell。别名在脚本中不起作用,因此在那里没有必要。

答案 1 :(得分:143)

The (Bourne/POSIX) shell specification表示在引用命令字的任何字符时,会禁止交互式shell中的别名替换。反斜杠是一种方法,但也有其他众所周知的引用方式:单引号和双引号。以下所有内容都将禁止别名替换:

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

使用\curl只是最常见和最易读的方式。由于这是一个标准化的功能,因此您可以期望它适用于所有Bourne-heritage shell。

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