Загрузите извлечение файла на определенный каталог с ЗАВИХРЕНИЕМ

Я хочу для файла загрузить на ~/downloads и сохраните то же имя файла. Затем я хочу, чтобы тот файл был извлечен (содержание) к ~/downloads/ok каталог. ~/downloads/ok каталог существует.

curl -Lo ~/downloads https://github.com/janeczku/haproxy-acme-validation-plugin/archive/0.1.1.tar.gz | tar zxf -C ~/downloads/ok

Я получаю ошибку: tar (child): -C: Cannot open: No such file or directory

1
задан 1 June 2017 в 04:44

4 ответа

Если Вы сохранили файл к некоторому местоположению в завихрении, то передача по каналу к tar бессмысленна: нет никаких данных, передаваемых по каналу. И f опция в tar для чтения из файла (имя файла должно быть следующим аргументом), так, чтобы не было полезно в канале также. Чтобы сохранить в файл и отправить к каналу, используйте tee:

curl -L https://github.com/janeczku/haproxy-acme-validation-plugin/archive/0.1.1.tar.gz |
  tee ~/downloads/0.1.1.tar.gz |
  tar zx -C ~/downloads/ok
3
ответ дан 7 December 2019 в 12:34

можно хотеть

(cd ~/downloads && curl -L https://github.com/janeczku/haproxy-acme-validation-plugin/archive/0.1.1.tar.gz && cd ok && tar zxf ../0.1.1.tar.gz)

, или больше четко

(
    f='https://github.com/janeczku/haproxy-acme-validation-plugin/archive/0.1.1.tar.gz'
    cd ~/downloads && 
    curl -L $f && 
    cd ok && 
    tar zxf ../${f##*/}
)

я использую круглые скобки для выполнения команд в подоболочке, таким образом, текущий dir в текущей оболочке не изменен

0
ответ дан 7 December 2019 в 12:34

Необходимо перенаправить сам файл к целевому каталогу:

curl -LOk https://github.com/janeczku/haproxy-acme-validation-plugin/archive/0.1.1.tar.gz > ~/downloads/0.1.1.tar.gz

И возобновляют извлечение архива.

0
ответ дан 7 December 2019 в 12:34
curl -SL https://download.example.org/abc.tar.gz | tar -zxC /opt

произведет /opt/abc папка.

-x для извлечения, -z для .gz и -C для целевого каталога,

0
ответ дан 7 December 2019 в 12:34

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

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