web-dev-qa-db-ja.com

.bashrc / .profileが新しいtmuxセッション(またはウィンドウ)にロードされない-なぜですか?

Tmuxが起動または新しいウィンドウを開くと、.profileまたは.bashrc. ~/.bashrc 毎回。これを自動的に行う方法はありますか?

88
John Smith

はい、.bash_profileの最後に次の行を追加します。

. ~/.bashrc

これにより、通常はプロファイルのみを処理するような状況で、rcファイルが自動的に取得されます。

bashが特定のファイルを実行するタイミングに関するルールは複雑であり、起動するシェルのタイプ(ログイン/非ログイン、対話型かどうかなど)、およびコマンドライン引数と環境変数に依存します。

それらはman bash出力で見ることができ、INVOCATIONを探すだけです-おそらくそれをダイジェストしてデコードするのにいくらかの時間が必要でしょう:-)

131
paxdiablo

〜/ .tmux.confファイルに次の行を追加することで、bashの実行が明示的に機能しました。

set-option -g default-command "exec /bin/bash"
13
Keith

私のために働いた解決策は次のとおりです:

  • .bash_profileにない場合は、~ファイルを作成します
  • .bash_profile put source ~/.bashrcまたはsource ~/.profileの最後に
  • Tmuxを再起動します。

この問題は修正されました。

1
Jaco Malan

このスレッドから:

.bash_profileを使用すると動作するようです。

1
icyrock.com

私は同じ問題を抱えており、これまでの解決策はうまくいきませんでした。最終的に私のために働いた解決策を見つけることができます こちら

要するに、tmux windows/sessionsは、起動時に他のファイルの中から~/.profileを探すログインシェルを使用します。

私が欲しかったのは、それぞれの新しいtmuxウィンドウでzshを起動して、exec zsh~/.profileの一番下に置くことでした。

0
Kellie Lutze