Alias ​​Bash - =… (nazwa aliasu powinna być prostą kreską) nie działa


14

Chcę utworzyć alias, dla cd -którego powinna być tylko myślnik ( -). Próbowałem bez powodzenia:

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.

Poprzednie trzy są takie same (tylko inne dane wejściowe, ale bash zamienia je wszystkie w to samo polecenie aliasza pomocą jednego argumentu -=cd -), więc nic dziwnego, że komunikat o błędzie jest taki sam. Domyślam się, że jeśli argument zaczyna się od myślnika, jest on analizowany jako flaga, a nie nazwa aliasu.

Czy można w ogóle użyć -nazwy aliasu?


1
Nigdy nie wiedziałem ocd -
Marco Ceppi

@MarcoCeppi Ja też, do dziś. Zamówienie commandlinefu.com/commands/browse/sort-by-votes więcej sztuczek ładne!
leemes

Odpowiedzi:


28

W przypadku większości poleceń można przekazać --jako argument, a wszystkie kolejne argumenty są traktowane jako operandy, a nie opcje, nawet jeśli zaczynają się od myślnika. aliasWbudowane w bash rozpoznaje --.

alias -- -='cd -'

1
Hah! Nie wiedziałem tego. Fajne dzięki! :)
leemes
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.