查看为所有类型的项目(例如rvm)显示的神奇安装程序,您将始终看到以下命令:
\curl ... | bash例如:
\curl -L https://get.rvm.io | bash -s stable我想知道为什么这些命令以斜杠开头--它们看起来没有斜杠也运行得很好。
有什么建议吗?
发布于 2013-04-11 22:47:22
这用于调用“原始”命令,避免使用可能的别名调用它。也就是说,在命令curl上禁用可能的别名,并调整为原始别名。
如果你有
alias grep='grep --color=auto'然后你做grep,它会有颜色。所以如果你不想要颜色,你可以直接写\grep。
发布于 2013-04-11 22:47:40
这是一个反斜杠
它是以该名称(或函数)开头的命令,而不是别名。
要确保同时绕过函数和别名:
command somecommand要绕过,只使用别名(从而启动一个函数,或者如果没有函数,则启动命令):
\somecommand让我们看看哪个优先于哪个(我使用bash2.05b...ymmv)
我将定义一个函数和一个与命令同名的别名(ls):
$ alias ls='echo A'
$ function ls { echo B ; }使用"type -all ls“可以显示计算的顺序:
$ type -all ls
ls is aliased to `echo A'
ls is a function
ls ()
{
echo B
}
ls is /usr/bin/ls但我们也可以通过尝试来找出答案:
$ ls
A
$ \ls
B
$ command ls
file1 file2 file3所以看起来优先级顺序是:别名,- seems 函数,在路径中使用的-seems命令。
当然,如果您精确地指定了相对/绝对路径,那么它将被强制为指向的命令:
$ /usr/bin/ls
file1 file2 file3发布于 2013-04-11 22:47:43
它绕过了可能的别名curl。
https://stackoverflow.com/questions/15951772
复制相似问题