De acordo com os Alias do Workshop Zsh , eles parecem ter a mesma sintaxe, então eles devem trabalho.
Eu procurei por aí, mas não consegui encontrar nada conclusivo. Existe uma diferença entre o comando alias em zsh e o comando alias no bash? Se não, significa que posso compartilhar um conjunto de aliases entre os dois shells e esperar que eles funcionem como eu pretendia?
De acordo com os Alias do Workshop Zsh , eles parecem ter a mesma sintaxe, então eles devem trabalho.
A sintaxe do comando alias é a mesma em todos os shells no estilo Bourne. Assim, você pode compartilhá-los entre ~/.zshrc , ~/.bashrc , ~/.kshrc , ~/.shrc , desde que eles façam sentido em todos os shells.
O mesmo vale para definições de variáveis e definições de funções, contanto que você use o subconjunto da sintaxe que é suportada 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
Isto diz ao zsh para esperar uma sintaxe compatível com sh apenas neste arquivo. Em seguida, digite esse arquivo próximo ao início de ~/.bashrc , ~/.bashrc , ~/.kshrc e assim por diante.
Isso é basicamente o que eu faço. Por exemplo, eu tenho um código um pouco complexo que gera um alias para ls com minhas opções favoritas, dependendo do que está disponível ( --color , -G , -F , etc.); é agnóstico de shell, por isso vai em .common.rc.sh . Eu também tenho aliases dependentes do shell, como alias zcp='zmv -C' que vai em .zshrc .
zsh alias permite aliases globais, enquanto bash s são expandidos apenas no início da linha.
Em zsh :
alias -g L="| less -FRX"
Você pode então fazer:
verbose-command L
Consulte aqui para obter uma lista de aliases globais úteis.