Синтаксис aliasкоманды одинаков во всех оболочках в стиле Борна. Таким образом , вы можете поделиться ими через ~/.zshrc, ~/.bashrc, ~/.kshrc, ~/.shrc, до тех пор , как они имеют смысл во всех оболочках.
То же самое относится к определениям переменных и определениям функций, если вы используете подмножество синтаксиса, которое поддерживается во всех оболочках.
Если вы не используете версии zsh старше 4.0, вы можете поместить все свои независимые от оболочки определения в файл с именем (скажем) ~/.common.rc.sh, где первая строка
emulate -LR sh 2>/dev/null
Это говорит zsh ожидать sh совместимый синтаксис только в этом файле. Тогда источник, файл около начала ~/.bashrc, ~/.bashrc, ~/.kshrcи так далее.
Это в основном то, что я делаю. Например, у меня есть несколько сложного код , который генерирует псевдоним lsс моими любимыми вариантами в зависимости от того, что доступно ( --color, -G, -Fи т.д.); это не зависит от оболочки, так что входит .common.rc.sh. У меня также есть зависимые от оболочки псевдонимы, как alias zcp='zmv -C'это входит .zshrc.