труба в судо -Е баш -

10

Я задавался вопросом, что цель трубопровода скаченный файл, curlв sudo -E bash -в следующей оболочке:

curl -sL https://deb.nodesource.com/setup_5.x | sudo -E bash -

Mr.Y
источник

Ответы:

10

Это короткий способ выполнения сценария без необходимости сохранять файл и затем выполнять его. Когда вы сохраняете файл и затем выполняете его, ряд вещей может пойти не так:

  • Пользователь неправильно набрал имя файла
  • Пользователь не использовал правильную оболочку (возможно, запускался sh foo.shвместо bash foo.sh)
  • Пользователь попытался выполнить файл вместо установки bash на него ( ./foo.sh) и забыл установить права на выполнение
  • Пользователь забыл использовать sudo

Предоставляя единую командную строку для выполнения, разработчики могут уменьшить количество мест, где что-то может пойти не так из-за ошибки luser.

Лично я презираю завиток трубок к Башу. Это небезопасно.

Мур
источник
7

Эта команда загрузит файл и попытается выполнить его с правами суперпользователя.

Барафу Альбинос
источник
3
Спасибо, но какова цель -Eварианта и -в конце команды?
Mr.Y
5
@Youssef -Eсохраняет переменные окружения (скажем, переменные для настроек прокси-сервера) и -говорит bash читать команды из стандартного ввода, то есть из канала.
Муру