web-dev-qa-db-fra.com

Bash alias - = ... (nom d'alias doit être un tiret simple) ne fonctionne pas

Je veux créer un alias pour cd - qui devrait être 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 premières sont les mêmes (seule une entrée différente, mais bash les transforme toutes en la même commande alias avec un seul argument -=cd -), il n’est donc pas surprenant que le message d’erreur soit le même. J'imagine que si l'argument commence par un tiret, il est analysé comme un drapeau plutôt que comme un nom d'alias.

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

13
leemes

Avec la plupart des commandes, vous pouvez passer -- en tant qu'argument. 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 alias intégré à bash reconnaît --.

alias -- -='cd -'
26
Gilles