我在大多数盒子上使用 tmux,但不是全部。
我的 .bashrc 文件中有以下行:
[ -z "$TMUX" ] && export TERM=xterm-256color && exec tmux
Run Code Online (Sandbox Code Playgroud)
如果存在则调用 tmux。
我认为这[ -z $TMUX ]意味着只有在 tmux 存在时才会使用它。
但是在另一个系统上,没有 tmux,我得到
-bash: exec: tmux: 未找到
并且登录尝试失败
在我的主系统上,我看到
$ echo $TMUX
/private/var/folders/ks/266xy5lj7x35gfj4csc66444b48rvq/T/tmux-373580663/default,55084,4
Run Code Online (Sandbox Code Playgroud)
我也试过[ $TMUX ](即没有-z)但这没有帮助
我也在寻找一个适用于 Ubuntu 和 OSX 的强大解决方案
你echo $TMUX在tmux会议上做过吗?因为TMUX只有在会话时才设置。
试试这个:
[ -z "$TMUX" ] && command -v tmux >/dev/null && TERM=xterm-256color exec tmux
Run Code Online (Sandbox Code Playgroud)
好的,所以如果您只想tmux在它存在$PATH 且尚未运行时启动,那么您可以执行以下操作:
command -v tmux >/dev/null && ${TMUX+:} TERM=xterm-256color exec tmux
Run Code Online (Sandbox Code Playgroud)
更短:
tmux -c "${TMUX+!} :" 2>/dev/null && exec tmux -2
Run Code Online (Sandbox Code Playgroud)
第二个要求tmux返回 0 如果${TMUX}未设置为&&true,则 shelltmux -2执行强制 256 色。如果tmux可以运行$PATH并且环境变量$TMUX不存在,它只会返回true 。
| 归档时间: |
|
| 查看次数: |
1116 次 |
| 最近记录: |