La sintaxis del alias
comando es la misma en todos los shells de estilo Bourne. Así se pueden compartir a través de ~/.zshrc
, ~/.bashrc
, ~/.kshrc
, ~/.shrc
, siempre y cuando tengan sentido en todas las conchas.
Lo mismo se aplica a las definiciones de variables y definiciones de funciones, siempre que use el subconjunto de sintaxis compatible con todos los shells.
Si no usa versiones de zsh anteriores a 4.0, puede poner todas sus definiciones agnósticas de shell en un archivo llamado (digamos) ~/.common.rc.sh
, donde está la primera línea
emulate -LR sh 2>/dev/null
Esto le dice a zsh que espere una sintaxis compatible con sh solo en este archivo. A continuación, ese archivo fuente cerca del comienzo de ~/.bashrc
, ~/.bashrc
, ~/.kshrc
y así sucesivamente.
Esto es básicamente lo que hago. Por ejemplo, tengo algo complejo código que genera un alias para ls
con mis opciones favoritas en función de lo que está disponible ( --color
, -G
, -F
, etc.); es agnóstico a la concha, así que entra .common.rc.sh
. También tengo alias dependientes de shell, como alias zcp='zmv -C'
eso entra .zshrc
.