使用bash脚本设置tmux窗口

Fáb*_*uci 5 bash tmux

我正在尝试编写一个脚本,该脚本将为Rails开发设置tmux窗口,到目前为止,我已经做到了:

#!/bin/bash
tmux new-window -n vim
tmux new-window -n guard
tmux new-window -n console/server

tmux select-window -t 3
tmux send-keys -t 3 'rails server' C-z
Run Code Online (Sandbox Code Playgroud)

我想要在该特定窗口上运行rails server,然后将其发送到后台。问题是,我得到的只是^Z几秒钟后的通常提示。

我该怎么做?

Mic*_*ott 4

您可以组合这些 tmux 命令,以便它们\xe2\x80\x99 全部由同一会话接收。分隔符\\;(转义以一直到达 tmux):

\n\n
#!/bin/bash\n\ntmux new -stest \\; \\\n  new-window -n vim \\; \\\n  new-window -n guard \\; \\\n  new-window -n console/server\n  select-window -t 3 \\; \\\n  send-keys -t 3 'rails s &' Enter\n
Run Code Online (Sandbox Code Playgroud)\n\n

我没有看到C-z工作原理,但您可以通过背景实现相同的目的&

\n