我想以编程方式创建 tmux 窗格。例如,我有一个要执行的命令列表,我将创建一个 shell 脚本,该脚本将动态调用 tmux 命令以及要在每个窗格中执行的命令。您能举个例子吗?
答案1
答案2
多路复用器也能很好地完成这项工作。它是一个 ruby gem,使用 yml 文件来存储您的布局,并可以通过编程为您设置它们。
它的 github 页面有一个不错的自述文件,但基本上是这样的:
设置:
mux new [project]
vim the/autogenerated/project.yml # Edit the config to suit
打开你的项目:
mux [project]
示例配置:
windows:
- editor:
layout: tiled
panes:
- cd ~/code/source/dir && git status
- cd ~/code/source/dir && vagrant up && vagrant ssh -- -t 'sudo su; /bin/bash' # log in as sudo, the final /bin/bash keeps the shell open
- cd ~/code/source/dir && vagrant up && vagrant ssh -- -t 'sudo su some_user && cd ~/mounted/dir/ && vim ./; /bin/bash' # log in, go to your mounted code and vim
- # do nothing
- logs: tail -f log/development.log
附注:它还可以在打开窗格时运行命令,因此您可以 ssh 进入某些机器,以各种用户身份登录等等。
Tmuxify 可能也涵盖了同样的领域,所以好处是你还有选择。坏处是...你必须做出选择 ;)