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.
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?
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.
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
.
Tags command-line bash