【Ubuntu】脚本自动化控制终端填充

1.sh脚本文件控制终端写入命令

在SLAM算法中,每次启动vins都需要起很多终端,尽管使用了超级终端Terminator可以终端内划分看起来更加便捷,但是每次起算法的命令还是要自己输入,已经被麻烦了两年了,今天突然想写写一个shell脚本来实现一个简单的自动化填充。

先创建一个muti_terminal_command.sh的脚本文件,可以用vim或者nano之类的(看不懂一点),我是用vsode中创建的。

powershell 复制代码
#!/bin/bash

# 启动终端模拟器
terminator &
sleep 0.5
# xdotool key Alt+m
# sleep 1

# 发送快捷键Ctrl+Shift+e来划分窗格(水平方向)
xdotool key Ctrl+Shift+e
xdotool key Ctrl+Shift+o
xdotool key Ctrl+Tab
xdotool key Ctrl+Shift+o

# 激活第一个窗格(左上角)并输入第一个命令
xdotool key Ctrl+Tab
xdotool type "roslaunch vins_estimator nova3.launch"
xdotool key Return
sleep 0.5 

# 激活第二个窗格(右上角)并输入第二个命令
xdotool key Ctrl+Tab
xdotool type "roslaunch vins_estimator vins_rviz.launch"
xdotool key Return
sleep 0.5

# 激活第三个窗格(左下角)并输入第三个命令
xdotool key Ctrl+Tab
xdotool type "rosbag play test.bag"

注意:这里我最大化了窗口命令:xdotool key Alt+m,是因为事先把最大化快捷键改成了Alt+m(需要再Ubuntu设置中改),如果没有修改的话,可以注释掉。

这样本身就已经节省很多时间了。

运行的时候只需要:

bash 复制代码
chmod +x muti_terminal_command.sh
./muti_terminal_command.sh
相关推荐
EricFRQ27 分钟前
devops自动化容器化部署
运维·自动化·devops
在河之洲木水2 小时前
现代多核调度器的本质 调度三重奏
linux·服务器·系统架构
梦想画家2 小时前
SQLMesh 测试自动化:提升数据工程效率
自动化·数据工程·sqlmesh
程序员JerrySUN2 小时前
驱动开发硬核特训 · Day 22(下篇): # 深入理解 Power-domain 框架:概念、功能与完整代码剖析
linux·开发语言·驱动开发·嵌入式硬件
白总Server2 小时前
多智能体系统的中间件架构
linux·运维·服务器·中间件·ribbon·架构·github
未来会更好yes2 小时前
Centos 7.6安装redis-6.2.6
linux·redis·centos
二猛子3 小时前
Linux(Centos版本)中安装Docker
linux·docker·centos
浪裡遊4 小时前
跨域问题(Cross-Origin Problem)
linux·前端·vue.js·后端·https·sprint
Johny_Zhao4 小时前
OpenStack 全套搭建部署指南(基于 Kolla-Ansible)
linux·python·信息安全·云计算·openstack·shell·yum源·系统运维
2401_867021904 小时前
文件缓冲区(IO与文件 ·III)(linux/C)
linux·运维·服务器·c语言