tmux 脚本不创建第 5 个窗格

tmux script not creating 5th pane

我正在编写以下脚本来设置具有非常具体的窗格布局的 tmux window。由于我无法弄清楚的原因,它没有创建最终窗格...

#!/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

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

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

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

re-active

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

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