我正在使用以下脚本来设置具有非常特定窗格布局的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
答案 0 :(得分:1)
在tmux中,如果在创建窗口时传递命令,则当shell命令完成时,窗口将关闭。对于窗格,它的行为相同。
在您的脚本中,其他窗格显示,因为命令/进程尚未完成(htop,tail -f)。要对其进行测试,您可以将df -h
更改为df -h && sleep 20
。然后你会看到20秒的窗格。
有一个窗口选项remain-on-exit
,如果设置它,窗口/窗格将在命令执行完成后保留。窗格/窗口将被标记为" deactived / dead"。您可以通过命令respawn-window
或respawn-pane
如果需要,请在tmux select-window....
:
tmux set-window-option remain-on-exit on