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

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

我使用这个代码片段在终端启动时启动 tmux:

# TMUX startup
if command -v tmux>/dev/null; then
 [[ ! $TERM =~ screen ]] && [ -z $TMUX ] && exec tmux
fi

但是这样一来,如果不关闭终端屏幕,我就无法退出 tmux。

我试过了:

Ctrl + b :detach

exit

查找 PID 并将其终止。所有这些方法也会关闭终端。

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

答案1

问题在于exec命令。正如解释的那样这里exec将用您指定执行的任何内容替换当前 shell。因此,您没有正在运行的 shell tmux,您只有tmux,因此退出它也会退出终端。

只需删除exec它就可以按预期工作:

if command -v tmux>/dev/null; then
 [[ ! $TERM =~ screen ]] && [ -z $TMUX ] && tmux
fi

相关内容