■
OpenTerminalHere を使っていたら,terminal.app の振る舞いがおかしくなった.
なぜか新規シェル呼び出し時に cd コマンドがかかって,カレントディレクトリをヘンなディレクトリにしてしまうのだ.
一生懸命調べた結果,
~/Library/Preferences/com.apple.Terminal.plist
の中にある
ExecutionString の value が 'cd /hogehoge/fugafuga' みたいになっていた.この value を空白にすると現象はなおったが,なぜこの値が書き変わったのか全く分からない.
.bash_profile や .bashrc にも cd の記述が無いので,terminal の状態 XML を保存してみて,中に ExecutionString の項目と,その value が cd になっているのを発見したから plist のせいだと分かったのだけれど,そこにたどり着く迄にすごく苦労したぞ.
いったん plist のせいだと分かったので検索してみると,やはりこの問題に悩んだ人々がいた.
http://slashdot.jp/~gigo/journal/217310
http://forums.macosxhints.com/archive/index.php/t-22744.html
http://d.hatena.ne.jp/cyk0/20080808
http://no-item-retrieved.blogspot.com/2007/12/tex-tools-for-mi.html
メニューバーの「ファイル>設定をデフォルトとして使用」を選んでしまうとこういうことが起きるらしい。
なるほど!そういうことかぁ.
収穫は, .bashrc 読み込み後に何かさせたいときは plist の ExecutionString に書くと良いということ.そしてそれは,terminal の「設定をデフォルトとして使用」を選ぶことで書き変わるということだった.