コレをちゃんと覚えていなくてはまったので、ちょっと自分メモ
確認環境はこんな感じです。Ubuntu 12.04 LST 64bitです。
[ LOCAL(l) ] masasuzu@henry% zsh --version zsh 4.3.17 (x86_64-unknown-linux-gnu) [ LOCAL(l) ] masasuzu@henry% uname -a Linux henry 3.2.0-24-generic #37-Ubuntu SMP Wed Apr 25 08:43:22 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
読み込まれるファイルと順番
本当は/etc/zsh/以下の設定ファイルも読み込まれるのですが、そこは基本的にデフォルトのままなので、今回は気にしていないです。
ログインシェルでzshを起動した時
- ~/.zshenv
- ~/.zprofile
- ~/.zshrc
- ~/.zlogin
インタラクティブシェルでzshを起動した時
- ~/.zshenv
- ~/.zshrc
ログアウトする時
- ~/.zlogout
実験
下記のそれぞれの設定ファイルでファイル名をechoするようにしてます。
- ~/.zlogin
- ~/.zshrc
- ~/.zshenv
- ~/.zprofile
- ~/.zlogout
GUIからターミナルを起動する
zshenv zshrc [ LOCAL(i) ] masasuzu@henry%
zshコマンドで起動する
[ LOCAL(i) ] masasuzu@henry% zsh zshenv zshrc [ LOCAL(i) ] masasuzu@henry% exit [ LOCAL(i) ] masasuzu@henry%
sshでログインする
ちゃんと.zlogoutが読み込まれているのが確認できます。
ちなみにログインシェルとインタラクティブシェルでプロンプトを変えています。
[ LOCAL(i) ] masasuzu@henry% ssh localhost zshenv zprofile zshrc zlogin [ LOCAL(l) ] masasuzu@henry% logout zlogout Connection to localhost closed. [ LOCAL(i) ] masasuzu@henry%
screenから起動する
ふーむどうやらログインシェル扱いされているみたいですね。
zshenv zprofile zshrc zlogin [ LOCAL(l) ] masasuzu@henry%