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?


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 -'

1
Hah! Não sabia disso. Legal, obrigado! :)
leemes
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.