我正在尝试运行一个自动打开tmux
会话的脚本,然后运行一些命令,比如打开一些窗口和窗格等。
我尝试使用xdotool
,然后我认为最好只使用 tmux 并调用send-keys
#!/bin/bash
SESSIONNAME="Working" # Set tmux session name
echo "Starting a tmux session"
sleep 2s
if (tmux has-session -t "$SESSIONNAME" 2> /dev/null); then
echo "Session '$SESSIONNAME' exists."
else
tmux -u new-session -d -s $SESSIONNAME
tmux send-keys -t $SESSIONNAME "echo 'hello world'" ENTER
fi
#tmux a
#tmux send-keys -t $SESSIONNAME "echo 'hello'" ENTER
exit 0
该脚本的问题是创建的会话不会自动附加,如果我tmux a
在运行某些命令之前尝试调用send-keys
,这些命令根本就不会运行。
请问您能否澄清或指导我如何实现该目标?
答案1
如果在 tmux 内,则使用“tmux attachment -t$SESSIONNAME”或“tmux switch-client -t$SESSIONNAME”在脚本末尾附加会话。您可以检查 $TMUX 以查看您是否在里面。