как понять tar минус

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

What did I do wrong here? Why doesn't it work?

Рассмотрим этапы чтения и выполнения командной строки в bash (на примере):

  1. читает строку
  2. разбирает, возможно, составную команду на составные простые команды
  3. выполняет различные расширения простых команд (расширение фигурных скобок, разбиение слов, подстановку и т. д.)
  4. затем выполняет простые команды (с другими этапами, опущенными для ясности ).

Вы пытаетесь повлиять на (2 )из (3 ). Разделение на основе ;находится на стадии (2 ), когда выполняется разбор составных команд. К тому времени, как (3 )происходит для раскрытия фигурной скобки, уже слишком поздно пытаться создать составную команду.

-1
22.12.2019, 18:14
2 ответа

Curl загружает файл и отправляет его в STDOUT. То же самое можно сделать с wget.

Затем канал(|)отправляет этот файл на STDIN команды tar. И этот тире(-)говорит tar использовать STDIN для файла вместо файла из файловой системы.

1
28.01.2020, 05:07

curl загружает ли файл. В отличие от wget, он записывает загруженный файл в stdout, если вы не укажете опцию -oдля сохранения файла.
Что касается команды -в tar, она идет вместе с опцией -f, и вы можете найти объяснение в info tar, секция 6.1 Choosing and Naming Archive Files:

.

If you use '-' as an ARCHIVE-NAME, 'tar' reads the archive from standard input (when listing or extracting files), or writes it to standard output (when creating an archive). If you use '-' as an ARCHIVE-NAME when modifying an archive, 'tar' reads the original archive from its standard input and writes the entire new archive to its standard output.

2
28.01.2020, 05:07

Теги

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