Tmux 不响应 shell 脚本中的命令

Tmux not responding to commands in shell script

我有一个简单的 bash 脚本可以创建一个新的 tmux 会话并进行一些布局:

#!/usr/local/bin/bash
tmux new-session -s 
tmux split-window -h -p 50 -t 1
tmux new-window
tmux split-window -h -p 50 -t 1

内容在可执行脚本中。当我以会话名称作为参数执行脚本时,我得到了一个新的 tmux 会话,但只有一个未拆分 window,而不是我的两个 [split] windows告诉它去创造。如果我 运行 在 shell 提示符下一个一个地执行脚本,那么我确实会得到想要的结果。那么为什么这在脚本中不起作用?

问题是第一个命令启动 tmux 并等待它完成后再继续。您需要做的是编写自定义 tmux.conf 文件并使用第一个命令添加通过 -f filename.conf 传递它。

另一种可能的方法是使用 tmux -d

#!/bin/bash
tmux new-session -d -s  
tmux split-window -h -p 50 -t 
tmux new-window -t 
tmux split-window -h -p 50 -t 
tmux attach -t