Konfigurowanie aliasów w zsh


75

Wiem, że w bash możesz ustawić aliasy w pliku .bash_aliases, aby wpisane polecenie nie musiało być poleceniem przechowywanym w plikach binarnych w systemie. Czy jest jakiś sposób, aby uzyskać aliasy w Zsh?

Odpowiedzi:


43

możesz to zrobić za pomocą polecenia „alias” o następującej składni:

alias [ -gmrL ] [ name[=value] ... ]

dla przełączników „gmrL”, zobacz ten przewodnik, który jest moim odniesieniem. Dla każdej nazwy bez wartości, zsh wypisze nazwę i to, do czego jest wcześniej alias. Bez żadnych argumentów alias wyświetla wartości WSZYSTKICH zdefiniowanych aliasów.

Aby zdefiniować jeden lub więcej aliasów, wystarczy wpisać

alias name1=value1 name2=value2 ... nameX=valueX

Dla każdej nazwy o odpowiedniej wartości zsh definiuje alias o tej wartości. aby uzyskać więcej informacji, sprawdź ten link ;-)

Aktualizacja: zaktualizowano martwy link.


Ten dokument dokładnie odpowiedział na moje pytanie. Dzięki wielkie.
Thomas Ward

Ten link jest wyłączony.
Soham Chowdhury

zaktualizowałem link.
sazary

8
w tej odpowiedzi brakuje części o tym, gdzie należy zachować aliasy, a odpowiedź Kurtozy obejmuje (.zshrc).
Felix

1
Używam ~/.profiledo przechowywania wszystkich aliasów mi zależy i zaopatrywać ~/.profilego od ~/.zshrc.
danba,

140

Chodzę tam iz powrotem między bash i zsh i używam tego samego pliku .aliases dla obu. Dzielą tę samą podstawową składnię aliasów, dzięki czemu można utworzyć plik .aliases i połączyć go z plikami .bashrc i .zshrc:

.bashrc:

if [ -f ~/.aliases ]; then
    . ~/.aliases
fi

.zshrc:

source $HOME/.aliases

Fwiw można to również zrobić za pomocą deklaracji zmiennych środowiskowych, w osobnym pliku .env .


Właśnie dodałem source ~ / .bash_aliases na końcu .zshrc, więc wszystkie aliasy działają zarówno na bash, jak i zsh
talsibony

@talsibony w ten sposób: ~/ .bash_aliasesPotrzebuję niewielkiej pomocy, proszę, jeśli tam jesteś, odpowiedz
lewis4u,

@ lewis4u Nie powinno być spacji między ~ / a .bash_aliases. Powinno to być dokładnie ~ / .bash_aliases.
Kurtosis

Twoje linki są zepsute.
Ilan.b

10

Zazwyczaj je umieszczasz ~/.zshenv. Ale wiele programów używa /bin/sh(zwykle bash) zamiast $SHELLdo wykonywania poleceń powłoki, więc aby działał wszędzie, prawdopodobnie i tak będziesz musiał umieścić bashodpowiednik aliasu ~/.bash_aliases.


Dotyczy to tylko mojego konta użytkownika, więc nie trzeba go kopiować do pliku ~ / .bash_aliases.
Thomas Ward
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.