Alias ​​bash - =… (le nom d'alias doit être un simple tiret) ne fonctionne pas


14

Je veux créer un alias cd -qui ne devrait être qu'un tiret ( -). J'ai essayé sans succès:

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.

Les trois premiers sont identiques (uniquement des entrées différentes, mais bash les transforme tous en la même commande aliasavec un seul argument -=cd -), il n'est donc pas surprenant que le message d'erreur soit le même. Je suppose que si l'argument commence par un tiret, il est analysé comme un drapeau plutôt que le nom d'alias.

Est-il même possible d'utiliser -comme nom d'alias?


1
Jamais connucd -
Marco Ceppi

@MarcoCeppi Moi non plus, jusqu'à aujourd'hui. Commander commandlinefu.com/commands/browse/sort-by-votes pour plus de trucs sympas!
leemes

Réponses:


28

Avec la plupart des commandes, vous pouvez passer --comme argument, et tous les arguments suivants sont traités comme des opérandes et non comme des options, même s'ils commencent par un tiret. Le aliasbash intégré dans reconnaît --.

alias -- -='cd -'

1
Hah! Je ne savais pas ça. Cool merci! :)
leemes
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.