システムに.bashrcがある場合は、どのようにTMUXを呼び出すことができますか?

システムに.bashrcがある場合は、どのようにTMUXを呼び出すことができますか?

私はほとんどのボックスでtmuxを使用しますが、すべてではありません。

私の.bashrcファイルには次の行があります。

[ -z "$TMUX" ] && export TERM=xterm-256color && exec tmux

tmuxが存在する場合はそれを呼び出します。

アイデアこれは、[ -z $TMUX ]tmuxが存在する場合にのみ使用されることを意味します。

ただし、tmuxを持たない他のシステムでは、次のような結果が得られます。

-bash: 実行: tmux: 見つかりません

そしてログイン試行が失敗します

私のメインシステムでは

$ echo $TMUX
/private/var/folders/ks/266xy5lj7x35gfj4csc66444b48rvq/T/tmux-373580663/default,55084,4

私も試しましたが[ $TMUX ](例なし-z)、役に立ちませんでした。

また、UbuntuとOSXのための強力なソリューションを探しています。

答え1

echo $TMUX会議中にこのようなことをしましたかtmuxTMUXセッションでのみ設定されるためです。

試してみてください:

[ -z "$TMUX" ] && command -v tmux >/dev/null && TERM=xterm-256color exec tmux

答え2

tmuxいいですね。存在するときだけ始めたい場合$PATH そしてまだ実行されていない場合は、次のことができます。

command -v tmux >/dev/null && ${TMUX+:} TERM=xterm-256color exec tmux

短く:

tmux -c "${TMUX+!} :" 2>/dev/null && exec tmux -2

2番目の要件は、tmux設定されていない場合は0を返し、trueの場合、シェルは256色を適用します。実行可能で環境変数が存在しない場合にのみ true を返します。${TMUX}&&tmux -2tmux$PATH$TMUX

答え3

使用

which tmux && export TERM=xterm-256color && exec tmux

tmux存在する場合はバイナリへのパスwhich tmuxとして評価されるので。それ以外の場合は空の文字列として評価されるため。tmuxtruetmuxfalse

関連情報