这个问题已经在这里有一个答案:
- 为什么开始用反斜杠shell命令? 2个回答
看着魔安装中出现的所有类型的项目(如RVM),你会经常看到类似这样的命令:
\curl ... | bash
如
\curl -L https://get.rvm.io | bash -s stable
我想知道为什么这些命令以斜线开头 - 他们似乎没有它运行正常。
有什么建议?
这个问题已经在这里有一个答案:
看着魔安装中出现的所有类型的项目(如RVM),你会经常看到类似这样的命令:
\curl ... | bash
如
\curl -L https://get.rvm.io | bash -s stable
我想知道为什么这些命令以斜线开头 - 他们似乎没有它运行正常。
有什么建议?
这是用来打电话的“原始”命令,避免它与可能的别名进行调用。 也就是说,禁止在该命令的可能别名curl
并调整到原来的一个。
如果你有
alias grep='grep --color=auto'
然后你做grep
,就会有颜色。 所以,如果你不想的颜色,你只写\grep
。
这是一个反斜杠
这是开始启动与该名称(或功能),而不是别名的命令。
为了确保绕过这两个函数和别名 :
command somecommand
绕过刚别名 (并因此启动一个功能,或者如果没有功能,命令):
\somecommand
让我们来看看它的优先级高于它(我使用bash 2.05b以上...因人而异)
我会定义一个函数,并与同名的命令(LS)的别名:
$ alias ls='echo A'
$ function ls { echo B ; }
使用“型-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
这么看来的优先顺序是: 在道路采取 别名 -before- 功能 -before- 命令 。
当然,如果你精确的相对/绝对路径,它被再用力是命令指向:
$ /usr/bin/ls
file1 file2 file3
它绕过可能的别名curl
。