Criando um comando terminal para extrair tarballs

4

Isto é pura preguiça, mas eu estou olhando para criar um comando terminal customizado para extrair tarballs - ie "targz" então um nome de arquivo extrairia um tar tar tarz, e "tarbz2" ... Bem, adivinhe. Eu segui as instruções para criar comandos personalizados encontrados aqui , e enquanto eu tenho certeza que funcionou muito bem para isso asker (que queria um comando para iniciar algumas coisas para ele, o que não exigia nenhum argumento adicional nem nada), não está funcionando para mim. O arquivo "targz" no meu ~ / bin é o seguinte:

tar -xzvf

Que feitiçaria. Então eu digito

targz putty-0.62.tar.gz

no terminal, e isso me dá:

tar: option requires an argument -- 'f'

Qualquer maneira de fazer isso funcionar, basta digitar "targz" e, em seguida, o nome do arquivo alvo no terminal e extraí-lo? Ou, para pontos extras de preguiça, digite algo como "untar", em seguida, um nome de arquivo de destino e, em seguida, faça com que seja extraído se é .gz ou .bz2?

    
por Video Gone 25.02.2013 / 04:48

2 respostas

3

O que você quer fazer é passar argumentos para um script de shell. Confira este link . Eu acho que você terá sua resposta. Quanto à segunda parte da sua pergunta, usar tar -xvf descompactará qualquer arquivo, seja .gz, .bz2 ou .xz.

    
por sayantankhan 25.02.2013 / 04:58
4

você também pode criar um alias como este:

alias utgz='tar -zxf '

Agora, a emissão de utgz tarball.tar.gz extrairá todos os arquivos do ta, sem a sobrecarga de passar por um shell separado. Pelo que entendi, o alias apenas age como uma substituição de texto.

Se você digitar alias no seu prompt, poderá ver algo como 'ls=ls -F' e assim por diante. então utgz tarball.tar.gz é alterado para tar -zxf tarball.tar.gz .

    
por guest 25.02.2013 / 07:55