我想在打开 urxvt 终端时运行 tmux,我发现了一些实用的解决方案;
[[ $TERM = "xterm" ]] && { tmux && exit 0; }
*在 .bashrc 中
但"xterm"
用"urxvt"
或替换"urxvt-256color"
不起作用,所以我只使用{ tmux && exit 0; }
。
但我收到了这个“错误”:
sessions should be nested with care, unset $TMUX to force
我快速搜索了一下,发现可能不太好,所以在这里询问一个正确的方法。谢谢!
答案1
根据更新的答案https://wiki.archlinux.org/index.php/Tmux#Start_tmux_on_every_shell_login
如果不是以交互方式运行,则不执行任何操作。否则检查终端是否以 urxvt 开头,并且 TMUX 变量是否为空。然后才执行 tmux。
if [[ $- != *i* ]]; then
return
elif [[ $TERM == urxvt* && -z "$TMUX" ]]; then
exec tmux && exit 0;
fi
另外,我意识到我之前在 urxvt* 两边使用引号时犯了一个错误。通配符 * 仅在没有引号的测试中有效。