使用shell脚本的tmux拆分窗口

ysi*_*ada 5 shell tmux

我正在尝试编写用于在tmux中创建窗格的shell脚本。

#!/bin/sh
tmux rename-window user
tmux new-session -d
tmux split-window -h
tmux selectp -t 1
tmux split-window -h
tmux select-layout even-horizontal
tmux selectp -t 2
tmux split-window -v
Run Code Online (Sandbox Code Playgroud)

但是,执行上述代码时不会产生所需的输出。

图片显示了执行代码时产生的输出:

结果输出

相反,当所有命令都写入tmux时,它将产生所需的输出。

图片指示手动键入命令时产生的输出:

所需的输出

如何修改代码以产生期望的结果?

ato*_*ack 5

试试这个,看起来它可以满足您的需要(根据“所需输出”图像判断):

tmux split-window -h
tmux split-window -h
tmux select-layout even-horizontal
tmux split-window -v
tmux select-pane -t 0
Run Code Online (Sandbox Code Playgroud)

您还可以尝试使用https://github.com/tmux-plugins/tmux-resurrect之类的东西来保留布局。