我在脚本文件中使用以下 tmux 代码tmux-dev.sh
,并使用以下命令将其添加到 bash 中bash /home/rohit/tmux-dev.sh
:
tmux new-session -d
tmux split-window -h
tmux split-window -v
tmux -2 attach-session -d
该脚本会导致 tmux 窗格嵌套,并给出错误:窗格太小。令我惊讶的是,bash tmux-dev.sh
当放入title and command
gnome-terminal 盒子时,它工作得很好并给出了这个屏幕
请帮我解决这个问题。我使用的是 ubuntu 14.10。
PS--请不要建议任何工具,我来这里是为了解释这种行为和原始 shell 脚本解决方案。
答案1
正如 @fiximan 所建议的,我尝试测试 tmux 会话是否存在,然后执行一些代码,最后,通过一些调整,我成功获得了我想要的布局。这是我添加到我的.bashrc
:
test -z "$TMUX" && (tmux new-session -d && tmux split-window -h && tmux split-window -v && tmux -2 attach-session -d)
我将把上面的内容分解来解释一下:
test -z "$TMUX"
->这测试是否已经有一个 tmux 会话正在运行,从而防止 tmux 会话嵌套tmux new-session -d
->创建一个新会话tmux split-window -h
->垂直分割窗口tmux split-window -v
->水平分割窗口tmux -2 attach-session -d
->附上会话
笔记 - 我使用了&&
操作符而不是||
操作符,因为后者会短路。