【发布时间】:2019-08-31 16:35:17
【问题描述】:
我在 bash 上使用 tmux,并让它从 .bashrc 自动启动。有时我想禁用它,我应该编辑我的.bashrc 来这样做。每次禁用 tmux 时都编辑文件非常麻烦,我认为做同样事情的最简单方法是在不离开终端的情况下退出 tmux。我可以这样做吗?
当我输入 exit 时,bash 和终端关闭。我试过 exec bash ,但它只是在 tmux 中重新启动了 bash。
根据https://wiki.archlinux.org/index.php/tmux#Bash,我从下面的代码开始tmux。
if [[ $DISPLAY ]]; then
# If not running interactively, do not do anything
[[ $- != *i* ]] && return
[[ -z "$TMUX" ]] && exec tmux
fi
如果我只是在上面的代码中运行tmux 而不是exec tmux,我可以实现我的目标。但我不喜欢这样,因为我不明白为什么代码使用exec tmux 而不是tmux 并且不想贸然更改它,当我运行tmux 时我应该输入exit 或@ 987654333@ 两次以退出终端。
【问题讨论】:
-
删除
exec是绝对安全的;使用它会导致tmux替换 shell 采购.bashrc,而这正是你不想想要做的事情。 -
@chepner 谢谢,我要删除
exec,这解决了我的问题。