Ruby Version Manager (RVM) устанавливается следующим образом:
bash -s stable < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer)
Я понимаю, что сначала <означает (передает скрипт bash в интерпретатор bash), я запутался с <(...)
частью. Итак, что здесь делают круглые скобки и чем меньше знак. В каких случаях мы можем использовать тот же синтаксис?
Я попытался покопаться в интернете, нашел этот ТАК вопрос /programming/2188199/bash-double-or-single-bracket-parentheses-curly-braces и этот вопрос на ubuntuforums: http: // ubuntuforums .org / showthread.php? p = 7803008 Но все еще не знаю, почему мы используем эти скобки и почему мы используем перенаправление ввода дважды.
bash < curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer
не то же самое?
Спасибо.
bash <(curl -s ...)
Ответы:
Это процесс замещения . Он передает вывод команды в FIFO, который может быть прочитан как обычный файл.
источник
Это означает «запустить команду в скобках и вернуть имя файла, которое представляет стандартный вывод этой команды здесь».
Итак, это переводится на две команды:
... где "что-то" это магия. (Как правило,
/dev/fd/...
или труба.)источник