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?

leèmes
la source
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 -'
Gilles 'SO- arrête d'être méchant'
la source
1
Hah! Je ne savais pas ça. Cool merci! :)
leemes