Configurar alias en zsh

75

Sé que en bash puede configurar alias en un archivo .bash_aliases para que el comando que escriba no necesite ser un comando almacenado en los archivos binarios del sistema. ¿Hay alguna manera de que pueda obtener alias en zsh?

Thomas Ward
fuente

Respuestas:

43

puedes hacerlo con el comando "alias" con esta sintaxis:

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

para los conmutadores "gmrL", consulte esta guía, que es mi referencia. Para cada nombre sin valor, zsh imprimirá el nombre y el alias anterior. Sin ningún argumento, alias imprime los valores de TODOS los alias definidos.

Para definir uno o más alias, simplemente ingrese

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

Para cada nombre con un valor correspondiente, zsh define un alias con ese valor. Para obtener más información, consulte ese enlace ;-)

Actualización: actualizado el enlace muerto.

sazary
fuente
Ese documento respondió a mi pregunta exactamente. Muchas gracias.
Thomas Ward
Ese enlace está caído.
Soham Chowdhury
actualizado el enlace.
sazary
8
esta respuesta pierde la parte sobre dónde persistir los alias, la respuesta de Kurtosis la incluye (.zshrc).
Felix
1
Yo uso ~/.profilepara almacenar todos los alias que me importa y la fuente ~/.profiledesde ~/.zshrc.
danba
140

Voy de un lado a otro entre bash y zsh, y uso el mismo archivo .aliases para ambos. Comparten la misma sintaxis de alias básica, por lo que puede crear un archivo .aliases y vincularlo a .bashrc y .zshrc:

.bashrc:

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

.zshrc:

source $HOME/.aliases

Además, esto también se puede hacer con declaraciones de variables de entorno, en un archivo .env separado .

Curtosis
fuente
Acabo de agregar source ~ / .bash_aliases al final de .zshrc, por lo que todos los alias funcionan tanto en bash como en zsh
talsibony
@talsibony como este: ~/ .bash_aliasesnecesito poca ayuda por favor si estás allí, responde
lewis4u
@ lewis4u No debería haber un espacio entre ~ / y .bash_aliases. Debería ser exactamente ~ / .bash_aliases.
Kurtosis
Sus enlaces están rotos ..
Ilan.b
10

Generalmente los pones ~/.zshenv. Pero muchos programas usan /bin/sh(generalmente bash) en lugar de $SHELLejecutar comandos de shell, por lo que para que funcione en todas partes probablemente necesitará poner el bashequivalente del alias de ~/.bash_aliasestodos modos.

geekosaur
fuente
Esto es solo para mi cuenta de usuario, por lo que no es necesario copiarlo en el archivo ~ / .bash_aliases.
Thomas Ward