tmux脚本未创建第5个窗格

时间:2016-01-06 21:24:53

标签: bash shell tmux

我正在使用以下脚本来设置具有非常特定窗格布局的tmux窗口。由于我无法弄清楚的原因,它不能创建最终窗格......

#!/bin/sh

tmux new-session -d -s foo 'htop'
tmux rename-window 'Foo'
tmux select-window -t foo:0
tmux split-window -v 'tail -f logfile1.log'
tmux resize-pane -U 7
tmux split-window -h 'tail -f logfile2.log'
tmux resize-pane -U 7
tmux resize-pane -R 23
tmux select-pane -t 1
tmux split-window -v 'tail -f logfile3.log'
tmux select-pane -t 2
tmux split-window -h 'df -h'
tmux -2 attach-session -t foo

1 个答案:

答案 0 :(得分:1)

在tmux中,如果在创建窗口时传递命令,则当shell命令完成时,窗口将关闭。对于窗格,它的行为相同。

在您的脚本中,其他窗格显示,因为命令/进程尚未完成(htop,tail -f)。要对其进行测试,您可以将df -h更改为df -h && sleep 20。然后你会看到20秒的窗格。

有一个窗口选项remain-on-exit,如果设置它,窗口/窗格将在命令执行完成后保留。窗格/窗口将被标记为" deactived / dead"。您可以通过命令respawn-windowrespawn-pane

重新激活它

如果需要,请在tmux select-window....

之后添加此行
tmux set-window-option remain-on-exit on