Alias ​​do bash - =… (o nome do alias deve ser um traço simples) não está funcionando

14

Eu quero criar um alias para o cd -qual deve ser apenas um traço ( -). Eu tentei sem sucesso:

alias -='cd -'     # bash: alias: -=: Invalid option
alias \-='cd -'    # bash: alias: -=: Invalid option
alias '-'='cd -'   # bash: alias: -=: Invalid option
alias '\-'='cd -'  # bash: alias: `\-': Invalid alias name.

Os três primeiros são os mesmos (apenas entradas diferentes, mas o bash transforma todos eles no mesmo comando aliascom um único argumento-=cd - ); portanto, não é surpresa que a mensagem de erro seja a mesma. Eu acho que se o argumento começar com um traço, ele será analisado como uma bandeira e não com o nome alternativo.

É possível usar -como um nome alternativo?

leemes
fonte
1
Nunca soube sobrecd -
Marco Ceppi
@MarcoCeppi Nem eu, até hoje. Confira commandlinefu.com/commands/browse/sort-by-votes para mais truques legais!
precisa saber é

Respostas:

28

Na maioria dos comandos, você pode passar --como argumento e todos os argumentos subseqüentes são tratados como operandos e não como opções, mesmo que iniciem com um traço. O aliasbuilt-in no bash reconhece --.

alias -- -='cd -'
Gilles 'SO- parar de ser mau'
fonte
1
Hah! Não sabia disso. Legal, obrigado! :)
leemes