这个解释起来相当复杂,我无法想象一个可以搜索到的简短描述。
我当前的设置是,当我打开终端时,由于这一行
if [[ -n "$PS1" ]] && [[ -z "$TMUX" ]]
then
tmux && exit
fi
tmux 立即启动。由于我在命令&& exit
后有一个tmux
tmux 封装外壳,因此在退出 tmux 时会立即关闭。
我认为默认情况下这是一个很好的行为,但在极少数情况下,我想在不退出封装外壳的情况下分离或退出 tmux。
我想我可以通过进入exit 1
tmux 内部来做到这一点,这样 tmux 的退出代码就会被执行!=0
,因此exit
封装 shell 的退出代码不会被执行,但看起来 tmux 正在以退出代码 0 退出,尽管在exit 1
内部。
谁能想象一种方法来实现我的目标,即默认退出封装 bash,但能够手动更改它?
答案1
您可以通过执行以下操作使 tmux 以非零退出状态分离:
tmux detach -E false
也许创建一个别名来做到这一点。
如果您希望 shell 也退出,您可以执行以下操作:
tmux detach -E false; exit