\ curl... | bash... для чего нужна косая черта?
глядя на волшебные инсталляторы, которые появляются для всех типов проектов (например, для rvm), вы всегда увидите команды вроде:
\curl ... | bash
например.
\curl -L https://get.rvm.io | bash -s stable
И мне было интересно, почему эти команды начинаются с косой черты - они, похоже, отлично работают без нее.
Любые предложения?
Ответы
Ответ 1
Это используется для вызова команды "оригинал", избегая ее вызова с возможными псевдонимами. То есть, отключает возможные псевдонимы в команде curl
и настраивается на исходный.
Если у вас
alias grep='grep --color=auto'
а затем вы grep
, у него будут цвета. Поэтому, если вы не хотите цвета, вы просто напишете \grep
.
Ответ 2
это обратная косая черта
нужно запустить команду, начинающуюся с этого имени (ИЛИ функции), но не ALIAS.
Чтобы обойти и функцию И псевдоним:
command somecommand
Чтобы обойти только псевдоним (и, таким образом, запустить функцию или, если нет функции, команду):
\somecommand
Посмотрим, что имеет преимущество, над которым (я использую bash 2.05b... ymmv)
Я определяю функцию AND и псевдоним с тем же именем, что и команда (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
Итак, порядок приоритета: псевдоним -before- функция -before- команда, принятая по пути.
Конечно, если вы уточняете относительный/абсолютный путь, он затем должен быть командой, указывающей на:
$ /usr/bin/ls
file1 file2 file3
Ответ 3
Он обходит возможный псевдоним curl
.