tmux関連ネタとしてよくみる奴だけど、発動条件に自分なりのこだわり条件をつけたものを使ってます。
やりたいこと
- tmuxに引数がついている場合は何か別のことをしたいはずなのでそのまま通す
- tmuxに引数が無くかつ既存セッションが存在する場合のみattach-sessionに差し替える
- 不要な定義でメモリを消費したくない
- 環境変数
TMUX
をチェックしてtmux外にいる場合のみ適用 - 環境変数
PS1
をチェックしてインタラクティブシェルのときだけ適用
- 環境変数
bashrcの記述
#tmuxで既存セッションがあればnew-sessionせずにアタッチする
if [[ -z $TMUX && -n $PS1 ]]; then
function tmux() {
if [[ $# == 0 ]] && tmux has-session 2>/dev/null; then
command tmux attach-session
else
command tmux "$@"
fi
}
fi