Cuando llamo alias
a un shell zsh, obtengo una lista de alias. Algunas de ellas son deseadas, otras no. Originalmente creé un .alias
archivo en mi directorio de inicio y lo agregué source $HOME/.alias
a mi archivo .zshrc
. ¿Cómo selecciono cualquier alias existente que no sea parte del archivo obtenido por mi .zshrc
? (Presumiblemente podría hacer esto uno por uno unalias
, pero parece increíblemente engorroso).
Respuesta1
unalias
admite la desactivación de varios alias al mismo tiempo, por lo que no es necesario hacerlo uno por uno.
Yo sugeriría simplemente eliminar todos los alias y volver a cargarlos desde ~/.alias
.
unalias ${(k)aliases} ${(k)galiases} ${(k)saliases}; source
Esto requiere que el zsh/parameter
módulo esté cargado. Consultar con zmodload | grep parameter
, cargar con zmodload zsh/parameter
.
Los parámetros aliases
y asignan los nombres de alias regulares, globales y de sufijo, respectivamente, a sus expansiones galiases
. se sustituye por las claves de .saliases
${(k)parameter}
parameter
Si no puede cargar el módulo por algún motivo, puede solucionarlo utilizando el resultado del alias
comando:
unalias $(alias | cut -d = -f 1) ; source ~/.alias
Si solo desea desarmar un tipo específico de alias, utilícelo alias -r
para alias regulares (aquellos que se usan en lugar de comandos), alias -g
para alias globales y alias -s
para alias de sufijo.
Si necesita hacer esto con más frecuencia, simplemente defina una función en su ~/.zshrc
(o en algún otro archivo que obtenga desde allí)
reload-aliases () {
unalias ${(k)aliases}
source ~/.alias
}