La sintassi del alias
comando è la stessa in tutte le shell in stile Bourne. In modo da poterli condividere in tutto ~/.zshrc
, ~/.bashrc
, ~/.kshrc
, ~/.shrc
, a patto che abbiano senso in tutte le conchiglie.
Lo stesso vale per le definizioni delle variabili e le definizioni delle funzioni, purché si utilizzi il sottoinsieme di sintassi supportato in tutte le shell.
Se non usi versioni di zsh precedenti alla 4.0, puoi mettere tutte le definizioni agnostiche della shell in un file chiamato (diciamo) ~/.common.rc.sh
, dove la prima riga è
emulate -LR sh 2>/dev/null
Questo dice a zsh di aspettarsi una sintassi sh compatibile solo in questo file. Poi source che lima vicino all'inizio del ~/.bashrc
, ~/.bashrc
, ~/.kshrc
e così via.
Questo è fondamentalmente quello che faccio. Ad esempio, ho il codice piuttosto complesso che genera un alias per ls
con le mie opzioni preferite a seconda di ciò che è disponibile ( --color
, -G
, -F
, etc.); è agnostico da shell, quindi entra .common.rc.sh
. Ho anche degli alias dipendenti dalla shell, come alias zcp='zmv -C'
quello accade .zshrc
.