我有这个非常接近:
tmux new -d -s "$session_uuid"
tmux send-keys -t "${session_uuid}.0" "tsc -w" ENTER
tmux send-keys -t "${session_uuid}.0" "nodemon" ENTER
tmux attach -t "$session_uuid"
首先,我不确定 .0 是什么...那是窗口 ID 吗?
我想要做的是并排创建两个垂直窗格,并tsc -w
在左窗格和nodemon
右窗格中运行。有谁知道如何做到这一点?
答案1
目标是 session:window.pane 因此,对于session.0
,0
是窗格编号,但您不需要它,因为无论如何,新会话中只有一个窗口,只需会话名称就足够了(如果你想确保 tmux 知道这是一个会话)。
您需要使用split-window
将窗口分成两个窗格,如下所示:
tmux new -d -s "$session_uuid" "tsc -w"
tmux splitw -t "$session_uuid:" -dh "nodemon"
tmux attach -t "$session_uuid"
如果您希望能够退出程序并返回到 shell,send-keys
请像示例中那样使用,注意.1
第二个中的send-keys
来定位第二个窗格(在第一个窗口时,窗口只有一个窗格,因此它不是需要):
tmux new -d -s "$session_uuid"
tmux send -t"$session_uuid:" "tsc -w" Enter
tmux splitw -t "$session_uuid:" -dh
tmux send -t"$session_uuid:.1" "nodemon" Enter
tmux attach -t "$session_uuid"
如果你只是想让 tmux 分配会话名称,你可以使用-P
来获取目标。
S=$(tmux new -dP "tsc -w")
tmux splitw -t$S -dh "nodemon"
tmux attach -t$S