Argumentos de alias do Bash [duplicados]

6

Eu estou tentando fazer um alias bash que me permita rapidamente fazer um arquivo do repositório atual do git.

Meu alias atual é:

alias gitarch="git archive master --format=tar | gzip >$@"

Isso funciona muito bem se eu fornecer um arquivo de destino exatamente como gitarch ~/Desktop/MyArchive.tar.gz , mas quero apenas digitar um nome de arquivo e ele sempre salvará na área de trabalho com a extensão tar.gz. Eu tentei fazer:

alias gitarch="git archive master --format=tar | gzip >~/Desktop/[email protected]"

... mas parece que não funciona corretamente.

Alguém pode me dizer o segredo para fazer isso funcionar?

    
por ThisDarkTao 13.01.2012 / 21:40

1 resposta

9

O segredo é simplesmente criar uma função bash - aliases não suportam substituição de parâmetro posicional:

gitarch() { git archive master --format=tar | gzip >"$1"; }
    
por 13.01.2012 / 21:47

Tags