wget

Автор compacter, 18 апреля 2020, 14:01:06

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

compacter

Доброго дня. Попробовал воспользоваться инструкцией по установке openmediavault на Proxmox 6 (Debian 10) https://habr.com/ru/post/328048/.Я в этом совсем новичек поэтому прошу сильно не пинать.Не могу разобрать вот эту конструкцию     wget https://github.com/openmediavault/openmediavault/archive/3.x.tar.gz -O - | tar xzvf -
cd openmediavault-3.x/deb/openmediavault а именно что означают вот эти символы  -O - |

compacter

Если -O это ключ тогда неправильно расположен?  $ wget опции аддресс_ссылки

qupl


-O file
       --output-document=file
           The documents will not be written to the appropriate files, but all
           will be concatenated together and written to file.  If - is used as
           file, documents will be printed to standard output, disabling link
           conversion.  (Use ./- to print to a file literally named -.)

compacter

тогда ключ -O должен стоять перед ссылкой?

qupl

Цитата: compacter от 18 апреля 2020, 14:55:16
тогда ключ -O должен стоять перед ссылкой?
поставьте перед ссылкой, проверить - дело 5 секунд

compacter

Спасибо за ответы.
Не могу разобрать вот эту конструкцию     
wget https://github.com/openmediavault/openmediavault/archive/3.x.tar.gz -O - | tar xzvf -
cd openmediavault-3.x/deb/openmediavault
а именно что означают вот эти символы  -O - | ?

dogsleg

Цитата: compacter от 18 апреля 2020, 18:10:46а именно что означают вот эти символы  -O - | ?

Они означают, что запись полученных из сети данных будет вестись на стандартный вывод, который через | будет передаваться команде tar в качестве входных данных.

compacter

Цитата: dogsleg от 18 апреля 2020, 18:14:58
Цитата: compacter от 18 апреля 2020, 18:10:46а именно что означают вот эти символы  -O - | ?

который через | будет передаваться команде tar
Спасибо огромное. Ч тоже такое | с чем его едят, где можно почитать про этого зверя?

dogsleg

Цитата: compacter от 18 апреля 2020, 18:23:52Ч тоже такое | с чем его едят, где можно почитать про этого зверя?

Почитайте про перенаправление ввода/вывода в командной оболочке.

compacter

Спасибо еще раз. А вы не смогли бы мне разбить эту конструкцию на две а лучше три команды .Например 1скачать 2разархивировать 3 перейти в каталог. Для понимания.

dogsleg

Получится как-то так:

wget https://github.com/openmediavault/openmediavault/archive/3.x.tar.gz
tar xzvf 3.x.tar.gz
потом уже cd и проч.

После первой команды в текущем каталоге появится файл 3.x.tar.gz, второй командой вы его распакуете, а потом дальше по инструкции cd и т. д.

compacter

Спасибо, а ключ -O к какому месту приколотить если к wget то получается синтаксис нарушен?

dogsleg

Цитата: compacter от 18 апреля 2020, 19:07:31а ключ -O к какому месту приколотить если к wget то получается синтаксис нарушен?

Если изначальную строку разбить на несколько команд, то этот ключ не особо нужен. Выше уже была цитат из руководства по wget. Там указано, что -O используется для переименования загружаемого файла, а если указано -O -, то тогда загружаемые данные передаются на стандартный вывод. Затем, как я выше писал, через канал, |, эти данные передаются команде tar. В варианте, когда wget и tar отдельными строками выполняются, ни -O -, ни | не нужны.

Вообще же wget понимает (по крайней мере в таких простых случаях как тут), когда опции указываются как до, так и после URL, поэтому в изначальной команде всё нормально, менять местами ничего не нужно.

compacter

Спасибо огромное за исчерпывающую информацию