Может ли кто-нибудь объяснить эту команду bash? - PullRequest
6 голосов
/ 08 марта 2011

С веб-сайта для RVM :

bash < <( curl https://rvm.io/releases/rvm-install-head )

Что делает этот первый символ меньше чем?А как насчет <(?Я знаю, что это глупый вопрос, но я бы хотел это понять.

Ответы [ 2 ]

7 голосов
/ 08 марта 2011

Процесс замены Bash заменяет <( ... ) и >( ... ) трубами от / к дочерним элементам.Следовательно, все это означает «создать канал из curl ... и использовать его как stdin для bash».

Скорее бессмысленно, лучше написать «1008 *

curl -L https://get.rvm.io | bash
2 голосов
/ 08 марта 2011

Это называется заменой процесса. Выход команды curl отправляется через анонимный именованный канал на стандартный ввод bash. По сути, вся эта команда выполняет то, что извлекается curl как сценарий оболочки.

Я считаю это рискованным, но некоторые люди, кажется, согласны с этим. Если вы извлекаете файл и запускаете его в отдельном шаге, у вас есть возможность сначала проверить его. Что бы вы ни делали, если вы делаете это вместе , не запускайте его как root или под sudo.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...