Aliase in zsh einrichten

75

Ich weiß, dass Sie in bash Aliase in einer .bash_aliases-Datei einrichten können, sodass der von Ihnen eingegebene Befehl kein Befehl sein muss, der in den Binärdateien des Systems gespeichert ist. Gibt es eine Möglichkeit, Aliase in zsh zu bekommen?

Thomas Ward
quelle

Antworten:

43

Sie können dies mit dem Befehl "alias" mit folgender Syntax tun:

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

Informationen zu "gmrL" -Schaltern finden Sie in dieser Anleitung, die meine Referenz ist. Für jeden Namen ohne Wert gibt zsh den Namen und dessen Alias ​​aus. Alias ​​gibt ohne Argumente die Werte von ALLEN definierten Aliasen aus.

Geben Sie einfach einen oder mehrere Aliase ein, um sie zu definieren

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

Für jeden Namen mit einem entsprechenden Wert definiert zsh einen Alias ​​mit diesem Wert. Für weitere Informationen, schau dir diesen Link an ;-)

Update: Aktualisiert den toten Link.

Sazary
quelle
Dieses Dokument hat meine Frage genau beantwortet. Vielen Dank.
Thomas Ward
Diese Verbindung ist ausgefallen.
Soham Chowdhury
hat den Link aktualisiert.
Sazary
8
In dieser Antwort fehlt der Teil darüber, wo die Aliase bestehen bleiben sollen. Die Kurtosis-Antwort enthält ihn (.zshrc).
Felix
1
Ich benutze ~/.profilealle Aliase zu speichern Ich kümmere mich um und beziehen ~/.profilees aus ~/.zshrc.
Danba
140

Ich gehe zwischen bash und zsh hin und her und verwende für beide die gleiche .aliases-Datei. Sie haben dieselbe grundlegende Alias-Syntax, sodass Sie eine .aliases-Datei erstellen und mit .bashrc und .zshrc verknüpfen können:

.bashrc:

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

.zshrc:

source $HOME/.aliases

Dies kann auch mit Deklarationen von Umgebungsvariablen in einer separaten ENV-Datei erfolgen .

Kurtosis
quelle
Ich habe gerade source ~ / .bash_aliases bis Ende .zshrc hinzugefügt, so dass alle Aliase arbeiten beide auf bash und zsh
talsibony
@talsibony wie folgt: ~/ .bash_aliasesIch brauche wenig Hilfe, bitte, wenn Sie da sind, antworten
Lewis4u
@ lewis4u Zwischen ~ / und .bash_aliases sollte kein Leerzeichen stehen. Es sollte genau ~ / .bash_aliases sein.
Kurtosis
Ihre Links sind kaputt ..
Ilan.b
10

Sie setzen sie in der Regel in ~/.zshenv. Aber viele Programme verwenden /bin/sh(normalerweise bash) $SHELLShell-Befehle anstatt sie auszuführen. Damit dies überall funktioniert, müssen Sie wahrscheinlich sowieso das bashÄquivalent des Alias ~/.bash_aliaseseingeben.

Geekosaurier
quelle
Dies gilt nur für mein Benutzerkonto, sodass es nicht in die Datei ~ / .bash_aliases kopiert werden muss.
Thomas Ward