hitode909の日記

趣味はマリンスポーツですの日記です

OSに合わせてシェルの設定を変える

複数の端末でシェルの設定ファイル(.zshrcなど)を使い回したいとき,特定のOSに依存した設定を書いてしまうと,その他のOSで正しく動作しない場合がある.
OSに依存した設定内容はファイルに切り出し,unameに合わせて,適切な設定ファイルを読むようにすればよい.

.zshrc

if [ -f ~/.zshrc.`uname` ]
then
   source ~/.zshrc.`uname`
fi

.zshrc.Darwin

echo "Darwin now"

alias emacs="open -a Emacs"

fmount() {
    echo "mounting $1"
    osascript -e "tell application \"Finder\" to mount volume \"$1\""
}

こうしておけば,OSに依存した内容だけ,~/.zshrc.Linuxとかに書けば,適切に読み込まれる.