\\卷曲... | 庆典......什么的斜线? [重复](\\curl … | bash …

2019-08-21 22:40发布

这个问题已经在这里有一个答案:

  • 为什么开始用反斜杠shell命令? 2个回答

看着魔安装中出现的所有类型的项目(如RVM),你会经常看到类似这样的命令:

\curl ... | bash

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

我想知道为什么这些命令以斜线开头 - 他们似乎没有它运行正常。

有什么建议?

Answer 1:

这是用来打电话的“原始”命令,避免它与可能的别名进行调用。 也就是说,禁止在该命令的可能别名curl并调整到原来的一个。

如果你有

alias grep='grep --color=auto'

然后你做grep ,就会有颜色。 所以,如果你不想的颜色,你只写\grep



Answer 2:

这是一个反斜杠

这是开始启动与该名称(或功能),而不是别名的命令。

为了确保绕过这两个函数别名

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


Answer 3:

它绕过可能的别名curl



文章来源: \\curl … | bash … what's the slash for? [duplicate]
标签: bash shell