1

Учитывая следующую команду:
curl http://anysite.com/tarball.tar.gz | tar xz
Как мне перейти в каталог, созданный tar?

1 ответ1

3

Учитывая эту команду и не имея возможности доверять тому, что вы сделали это в пустом рабочем каталоге, ответом будет « Вы этого не делаете ». У тарболов может быть любое количество файлов или каталогов, названных как угодно, на своем корневом уровне.

Альтернативой может быть что-то вроде этого:

mkdir temp && curl http://anysite.com/tarball.tar.gz | tar xzC temp && cd temp && cd *

Таким образом , вы делаете новый каталог, рассказывающий tar , чтобы распаковать архив в него, а затем cd - диск ать в ней. Этот последний cd * будет работать, если тарбол содержит только один элемент верхнего уровня, и это был каталог. Редактировать: Он также будет "работать", если первый элемент * соответствует вашему временному каталогу в каталоге, даже если есть другие каталоги или файлы, вышедшие из верхнего уровня тарбола. Это может не соответствовать определению "работа", которое вы ищете. Если первый элемент, которому соответствует * не является каталогом, вы получите сообщение об ошибке для этой части команды.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .