смола на одной строчке? - PullRequest
       5

смола на одной строчке?

1 голос
/ 14 января 2011

Для некоторых tar адептов, я уверен, что все перечисленное может быть достигнуто в одной строке?

mkdir site_media/media
cp fixtures/media.tar site_media/media/media.tar
cd site_media/media/
tar -xvf media.tar
rm media.tar 
cd ../../

Ответы [ 3 ]

1 голос
/ 14 января 2011

Нет необходимости копировать файл tar, если вы все равно собираетесь удалить копию.Это будет работать для вас без копирования, удаления и изменения каталогов:

mkdir site_media/media; tar -xvf fixtures/media.tar -C site_media/media
0 голосов
/ 14 января 2011

Немного серьезнее: я не знаю, как создать базовый каталог как часть одного tar, но его можно несколько уменьшить:

mkdir -p site_media/media
tar -xvf fixtures/media.tar -C site_media/media

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

Как с юмором отмечает @ Steve-o, вы можете комбинировать строки с &&, что также приводит к логическому короткому замыканию: остановка в случае сбоя команды.

0 голосов
/ 14 января 2011

комедийный ответ:

mkdir site_media/media && cp fixtures/media.tar site_media/media/media.tar && 
cd site_media/media/ && tar -xvf media.tar && rm media.tar && cd ../../
...