如何在终端启动时正确启动 tmux?

bpi*_*aya 8 command-line bash shortcut-keys tmux bashrc

我已经使用这个片段在终端启动时启动 tmux:

# TMUX startup
if command -v tmux>/dev/null; then
 [[ ! $TERM =~ screen ]] && [ -z $TMUX ] && exec tmux
fi
Run Code Online (Sandbox Code Playgroud)

但是有了这个,我不能在没有关闭终端屏幕的情况下退出 tmux。

我试过了:

Ctrl + b :detach

exit

并寻找PID并杀死它。所有这些方法也关闭了终端。

我应该如何配置 tmux 在启动终端时启动,但仍然能够在不关闭终端的情况下关闭它?任何提示表示赞赏!

ter*_*don 11

问题是exec命令。正如这里所解释的,exec将用您告诉它执行的任何内容替换当前的 shell。所以你没有一个正在运行的外壳tmux,你只是有tmux,因此退出它也会退出终端。

只需删除它exec,它就会按预期工作:

if command -v tmux>/dev/null; then
 [[ ! $TERM =~ screen ]] && [ -z $TMUX ] && tmux
fi
Run Code Online (Sandbox Code Playgroud)