Como faço cd no diretório feito pelo tar?

1

Dado o seguinte comando:
curl http://anysite.com/tarball.tar.gz | tar xz
Como faço cd para o diretório feito por tar ?

    
por Josh Whittington 23.11.2013 / 02:13

1 resposta

3

Dado esse comando, e sem poder confiar que você fez isso em um diretório de trabalho vazio, a resposta é: " Você não faz isso. ". Os tarballs podem ter qualquer número de arquivos ou diretórios, chamados de qualquer coisa, no nível da raiz.

Uma alternativa pode ser algo assim:

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

Dessa forma, você cria um novo diretório, informando tar para extrair o tarball para ele e, em seguida, cd ing. Esse último cd * funcionará se o tarball contiver apenas um único item de nível superior e for um diretório. Edit: Ele também "funcionará" se o primeiro item, o * , corresponder em um diretório temporário a um diretório, mesmo se houver outros diretórios ou arquivos que saíram do nível superior do tarball. Esta pode não ser a definição de "trabalho" que você está procurando. Se o primeiro item do * não for um diretório, você receberá um erro para essa parte do comando.     

por 23.11.2013 / 02:35

Tags