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-window
或 respawn-pane
re-active
如果需要,请在 tmux select-window....
:
之后添加此行
tmux set-window-option remain-on-exit on
我正在编写以下脚本来设置具有非常具体的窗格布局的 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-window
或 respawn-pane
如果需要,请在 tmux select-window....
:
tmux set-window-option remain-on-exit on