首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用bash脚本设置tmux窗口

使用bash脚本设置tmux窗口
EN

Stack Overflow用户
提问于 2015-09-10 12:58:39
回答 3查看 862关注 0票数 5

我正在编写一个脚本,该脚本将设置用于rails开发的tmux窗口,到目前为止,我有以下内容:

代码语言:javascript
复制
#!/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

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

我怎样才能做到这一点?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-09-10 14:28:30

您可以将这些tmux命令组合在一起,以便它们都在同一个会话中接收。由\;分离(通过转义获得所有到tmux的方式):

代码语言:javascript
复制
#!/bin/bash

tmux new -stest \; \
  new-window -n vim \; \
  new-window -n guard \; \
  new-window -n console/server
  select-window -t 3 \; \
  send-keys -t 3 'rails s &' Enter

我不认为C-z起作用,但是您可以通过&回退来实现同样的效果。

票数 4
EN

Stack Overflow用户

发布于 2015-09-10 16:35:48

您需要定义一个会话来将所有内容附加到。例如:

代码语言:javascript
复制
tmux new-session -s c64 -n vim -d
tmux new-window -t c64 -d -n guard
tmux new-window -t c64 -d -n console
tmux send-keys -t c64:console 'rails server &' Enter
tmux select-window -t c64:console
tmux attach -t c64

使用3个窗口创建一个名为c64的会话。然后将命令发送到第三个窗口,使其成为当前窗口并附加到会话。

票数 2
EN

Stack Overflow用户

发布于 2015-09-10 14:27:28

我认为你可以很好地利用IniTmux。这是我创建的python脚本。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32502584

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档