Configurer des alias dans zsh

75

Je sais que dans bash, vous pouvez configurer des alias dans un fichier .bash_aliases pour que la commande que vous tapez ne soit pas nécessairement une commande stockée dans les fichiers binaires du système. Existe-t-il un moyen d'obtenir des alias dans zsh?

Thomas Ward
la source

Réponses:

43

vous pouvez le faire avec la commande "alias" avec cette syntaxe:

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

pour les commutateurs "gmrL", voir ce guide, qui est ma référence. Pour chaque nom sans valeur, zsh imprimera le nom et son alias précédent. Sans aucun argument, alias imprime les valeurs de TOUS les alias définis.

Pour définir un ou plusieurs alias, entrez simplement

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

Pour chaque nom avec une valeur correspondante, zsh définit un alias avec cette valeur. pour plus d'informations, consultez ce lien ;-)

Mise à jour: mise à jour du lien mort.

sazary
la source
Ce document a répondu à ma question avec précision. Merci beaucoup.
Thomas Ward
Ce lien est en panne.
Soham Chowdhury
mis à jour le lien.
sazary
8
cette réponse manque la partie sur l'endroit où conserver les pseudonymes, la réponse de Kurtosis l'inclut (.zshrc).
Felix
1
Je l' utilise ~/.profilepour stocker tous les alias auxquels je tiens et la source ~/.profileà partir ~/.zshrc.
Danba
140

Je vais et viens entre bash et zsh et utilise le même fichier .aliases pour les deux. Ils partagent la même syntaxe d'alias de base. Vous pouvez donc créer un fichier .aliases et le lier à .bashrc et .zshrc:

.bashrc:

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

.zshrc:

source $HOME/.aliases

Cela peut également être fait avec des déclarations de variable d’environnement, dans un fichier .env séparé .

Kurtosis
la source
Je viens d'ajouter les sources ~ / .bash_aliases à la fin de .zshrc, de sorte que tous les alias fonctionnent à la fois en bash et en zsh
talsibony le
@talsibony comme ceci: ~/ .bash_aliasesj'ai besoin de peu d'aide s'il vous plaît, si vous y êtes, répondez
lewis4u
@ lewis4u Il ne devrait pas y avoir d'espace entre ~ / et .bash_aliases. Ce devrait être exactement ~ / .bash_aliases.
Kurtosis
Vos liens sont brisés ..
Ilan.b
10

Vous les mettez en général ~/.zshenv. Mais beaucoup de programmes utilisent /bin/sh(généralement bash) au lieu d' $SHELLexécuter des commandes shell, donc pour que cela fonctionne partout, vous devrez probablement mettre l' bashéquivalent du pseudonyme de ~/.bash_aliasestoute façon.

geekosaur
la source
Ceci est uniquement pour mon compte d'utilisateur, il n'a donc pas besoin d'être copié dans le fichier ~ / .bash_aliases.
Thomas Ward