it-swarm.com.de

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

Ich möchte einen Alias ​​für cd - erstellen, der nur ein Bindestrich sein sollte (-). 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 in den gleichen Befehl alias mit einem einzigen Argument -=cd -). Es ist also keine Überraschung, 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, - als Aliasnamen zu verwenden?

13
leemes

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 in bash integrierte alias erkennt --.

alias -- -='cd -'
26
Gilles