A sintaxe do alias
comando é a mesma em todos os shells no estilo Bourne. Assim, você pode compartilhá-los através ~/.zshrc
, ~/.bashrc
, ~/.kshrc
, ~/.shrc
, contanto que eles fazem sentido em todas as conchas.
O mesmo vale para definições de variáveis e definições de funções, desde que você use o subconjunto de sintaxe suportado em todos os shells.
Se você não usar versões do zsh anteriores à 4.0, poderá colocar todas as suas definições independentes de shell em um arquivo chamado (digamos) ~/.common.rc.sh
, em que a primeira linha é
emulate -LR sh 2>/dev/null
Isso diz ao zsh que espera apenas uma sintaxe compatível com sh neste arquivo. Então fonte desse arquivo perto do início ~/.bashrc
, ~/.bashrc
, ~/.kshrc
e assim por diante.
Isso é basicamente o que eu faço. Por exemplo, eu tenho o código um pouco complexa que gera um alias para ls
com as minhas opções favoritas, dependendo do que está disponível ( --color
, -G
, -F
, etc.); é agnóstico à casca, então entra .common.rc.sh
. Eu também tenho aliases dependentes de shell, assim alias zcp='zmv -C'
entra .zshrc
.