Может кто-нибудь объяснить, что делает эта команда wget для установки пояса для инструментов Heroku?

Я знакомлюсь с командами терминала, и я наткнулся на эту команду для установки пояса для инструментов Heroku:

wget -qO- https://toolbelt.heroku.com/install.sh | sh

Теперь из здесь Соберите, что wget используется для загрузки файлов из Интернета по различным поддерживаемым протоколам, и они будут загружаться, даже если я выйду из системы.

Это верно?

И я хотел бы узнать еще две вещи об этой команде:

  1. Я вижу -q0- в коде. Что это значит? Из man-страниц я вижу, что -q используется для выключения выхода Wget. Но что это значит тоже? И чем использование -q отличается от -q0-

  2. Для чего нужен |sh в конце команды? Что это делает?

Большое спасибо за время!

5
задан 27 July 2012 в 01:25

3 ответа

Эта команда на самом деле wget -qO не wget -q0.

Он автоматически загрузит файл https://toolbelt.heroku.com/install.sh (опция -q ), и все загруженное будет объединено и записано в один файл буферного файла (опция -O ), этот загруженный буфер будет затем отправлен и выполнен с sh.

sh - интерпретатор оболочки, который будет запускать информацию, которую только что скачал wget.

Итак, простыми словами вы говорите с этой командой: загрузите этот sh-файл и не создавайте вывод прогресса, и все, что вы загружаете, выполняйте его с помощью sh.

0
ответ дан 27 July 2012 в 01:25
  1. Как и большинство изолированных программ, запускаемых с терминала, wget обычно НЕ будет продолжать работать после закрытия родительского (терминала) (через выход из системы и т. Д.)

  2. [ 1111] -qO- - это аббревиатура двух опций командной строки -q -O-

    • q говорит wget не выводить информацию о статусе / ходе выполнения
    • O- указывает выводить загруженный файл данные на стандартный вывод
  3. | sh передает данные из стандартного вывода в команду sh, выполняя скрипт

0
ответ дан 27 July 2012 в 01:25

Это не 0 (число), это O (буква), он перенаправляет вывод в файл, в данном случае (-) стандартный вывод, поэтому содержимое загруженного файла будет перенаправлено (с помощью |) на sh стандартный ввод. sh - это оболочка, интерпретатор команд, который будет выполнять команды, которые он получает.

Вы можете узнать больше о поиске Перенаправления в sh manpage (man sh).

0
ответ дан 27 July 2012 в 01:25

Другие вопросы по тегам:

Похожие вопросы: