Bash-Alias ​​- =… (Aliasname sollte ein einfacher Gedankenstrich sein) funktioniert nicht


14

Ich möchte einen Alias ​​erstellen, für cd -den es sich nur um einen Bindestrich handeln soll ( -). Ich habe es erfolglos versucht:

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.

Die ersten drei sind identisch (nur unterschiedliche Eingaben, aber Bash verwandelt sie alle aliasmit einem einzigen Argument in denselben Befehl -=cd -). Es ist daher nicht verwunderlich, dass die Fehlermeldung dieselbe ist. Ich denke, wenn das Argument mit einem Bindestrich beginnt, wird es als Flag und nicht als Aliasname analysiert.

Ist es überhaupt möglich, -einen Aliasnamen zu verwenden?


1
Ich wusste cd -
Marco Ceppi

@MarcoCeppi Ich auch nicht, bis heute. Kasse commandlinefu.com/commands/browse/sort-by-votes für mehr nette Tricks!
Leemes

Antworten:


28

Bei den meisten Befehlen können Sie --als Argument übergeben, und alle nachfolgenden Argumente werden als Operanden und nicht als Optionen behandelt, selbst wenn sie mit einem Bindestrich beginnen. Die aliaseingebaute Bash erkennt --.

alias -- -='cd -'

1
Hah! Wusste das nicht. Cool, danke! :)
leemes
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.