tmux は .bashrc で定義されなくなった変数を引き続き使用します。

tmux は .bashrc で定義されなくなった変数を引き続き使用します。

.bashrc膨らみすぎてコンソールを起動するのに時間がかかるため、リセットしようとしています。

これを行うには、次のようにしました。

cp /etc/skel/.bashrc ~/.bashrc

これは通常のログインbashシェルで機能します。

しかし、端末の多重化にもTMUXを使用していますが、以前に定義した環境変数(もはや存在しない)を更新/削除しないようです。たとえば、次のようになります。

Git情報を出力するためにPS1をオーバーライドしました。私の以前の定義は.bashrc次のとおりです。

function parse_git_branch {
git branch --no-color 2> /dev/null | sed -e '/^[^*]/d' -e "s/* \(.*\)/[\1$(parse_git_dirty)]/"
}
export PS1='\u@\h \[\033[1;33m\]\W\[\033[0m\] \[\e[91m\]$(parse_git_branch)\[\e[00m\]$ '

これでTMUXで定義されなくなったため、.bashrc各コマンドを実行した後(プロンプトが印刷されると)次のエラーが発生します。

-bash: parse_git_branch: command not found

これを使用して新しいTMUXセッションを開始すると、これが発生します。

tmux new -s TEST

TMUXの外では、すべてが期待どおりに動作します。

TMUXを別々にリセットする必要がありますか?完全に詰まっているので、デバッグするにはどうすればいいですか? !

編集する:

  1. 私の.bashrc
  2. $PS1何かが「異常」という「証拠」として、TMUXの内部と外部の値は次のとおりです。

TMUX内部:

$ echo $PS1
\u@\h \[\e[32m\]\W \[\e[91m\]$(parse_git_branch)\[\e[00m\]$
-bash: parse_git_branch: command not found

外部TMUX:

$ echo $PS1
[\u@\h \W]\$

ベストアンサー1

おすすめ記事