Intereting Posts
mount: точка монтирования отсутствует Как получить losetup -a, чтобы вести себя? Использование памяти и дискового пространства на Solaris 11 Как копировать чувствительность мыши между компьютерами? почему «последняя» команда показывает перезагрузку Установка последней r-базы из r-проекта Удалять последовательные строки, если шаблоны соответствуют каждой строке Почему я получаю это сообщение от xauth: «тайм-аут в файле блокировки /home/<user>/.Xauthority»? Зачем . / home / Desktop неправильный и ./Desktop правильно? Удаление строк из одного файла на основе небытия в другом Советы по установке ~ под контролем источника Как я могу синтаксис выделить границы диапазона Ruby в gtksourceview3.0? autrace – Это называется auditctl или нет? Выйдя из цикла, вернитесь к началу цикла с правильным значением переменной Недопустимая левая фигурная скобка в регулярном выражении устарела

Не могу понять этот скрипт. bash << (curl -s http://xxx.com)

В книге рельсов автор написал сценарий для установки ruby ​​rvm.

bash <<(curl -s https://rvm.beginrescueend.com/install/rvm)

Но я не понимаю, как это работает. Не могли бы вы объяснить это?

Существует оператор << (здесь документ), но он не используется здесь.

У вас есть первое перенаправление ввода < которое говорит, что выбрать вход из следующего аргумента, тогда есть <(command) известная как подстановка процесса, которая говорит об замене файловым дескриптором, содержащим вывод команды.

Эта команда могла быть написана

 bash < <(curl -s https://rvm.beginrescueend.com/install/rvm) 

но это всего лишь сложный способ:

 curl -s https://rvm.beginrescueend.com/install/rvm | bash 

one <<(two) выполняет команду two и выводит ее вывод в one . Более общий способ написания – это two | one two | one , поэтому ваша команда также может быть написана:

 curl -s https://rvm.beginrescueend.com/install/rvm | bash 

Теперь эта ссылка нарушена, но на сайте говорится, что вместо этого она используется:

 curl -L get.rvm.io | bash -s stable 

curl выводит то, что он загружает, поэтому он загружает файл на get.rvm.io и get.rvm.io его содержимое в bash. Если вы просто запускаете команду curl самостоятельно, вы можете увидеть ее скрипт bash который загружает и устанавливает rvm