質問: 最初にtmuxを起動したときに自動で特定のディレクトリに移動するにはどのような設定をしたらよいでしょうか。 現在は、普通にホームディレクトリにいき、 そこから自分で`cd`でワークディレクトリにいきます。 しかし、毎回cdするのも面倒なので、自動でワークディレクトリに行ってほしいのですが、tmuxでどのように設定すればよいか分かりません。 最初にtmuxを起動したときに自動で特定のディレクトリに移動するにはどのような設定をしたらよいでしょうか。 知恵をお貸しください。よろしくお願いします。
回答: 「最初にtmuxを起動したとき」じゃなくて、「tmux下のシェル起動時に」でいいなら、`~/.bashrc`で、 ``` if [ "$TMUX" ] then cd 目的ディレクトリ fi ``` 追記 == > > 希望は最初にtmuxを開いたときに実行して、ペインを分割したときには実行しないことです。 > > > Linux前提で、こんな感じで。 ``` ppid=$(ps p $$ o ppid h) if [ "$(ps p $ppid o cmd h)" = tmux ] && [ $(ps -C bash o ppid h | grep -w $ppid | wc -l) = 1 ] then cd 目的ディレクトリ fi ``` 1行目:今の`bash`の親プロセスIDを求める 2行目:その親プロセス名が`tmux`であり、かつ、 3行目:プロセス名が`bash`であるプロセスについて、親プロセスが今の`bash`と同じものの数を数えて1個ならば ⇒ `tmux`を開いた時の最初の`bash`である LinuxでないOSの場合は、`ps`コマンドのオプションが異なる可能性があるので、OSに合わせて修正してください。