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?

Thomas Ward
źródło

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.

sazary
źródło
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 .

Kurtosis
źródło
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.

geekozaur
źródło
Dotyczy to tylko mojego konta użytkownika, więc nie trzeba go kopiować do pliku ~ / .bash_aliases.
Thomas Ward