我有一个简单的bash脚本,可以创建一个新的tmux会话并进行一些布局:
#!/usr/local/bin/bash
tmux new-session -s $1
tmux split-window -h -p 50 -t 1
tmux new-window
tmux split-window -h -p 50 -t 1
内容在可执行脚本中。当我以会话名称作为参数执行脚本时,我得到一个新的tmux会话但是只有一个非拆分窗口,而不是我告诉它创建的两个[拆分]窗口。如果我在shell提示符下逐个运行脚本,那么我确实得到了预期的结果。那么为什么这不适用于脚本呢?
答案 0 :(得分:2)
问题是第一个命令启动tmux并在继续之前等待它完成。您需要做的是编写自定义的tmux.conf文件,并使用第一个命令添加通过-f filename.conf
传递它。
另一种可能的方法是使用tmux -d
#!/bin/bash
tmux new-session -d -s $1
tmux split-window -h -p 50 -t $1
tmux new-window -t $1
tmux split-window -h -p 50 -t $1
tmux attach -t $1