【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
相关推荐
测试界的小码农30 分钟前
【Linux 命令实战(06):Linux 文件权限管理,掌握 chmod、chown、chgrp】
linux·运维·服务器
一条破秋裤2 小时前
【1114】【并发控制】【笔记】
linux
2035去旅行4 小时前
ADB的底层原理
linux·adb·嵌入式·arm·soc
武子康4 小时前
单卡 A6000 跑 Qwen-Drive:怎样留下可比较的第一条基线?
linux·人工智能·深度学习
女神下凡4 小时前
芯参谋(107):杰理AC_中科蓝讯_开发指南
linux·服务器·网络·单片机·嵌入式硬件
落羽的落羽4 小时前
【C++】C++17的主要特性
linux·服务器·开发语言·c++·算法·机器学习
DeepVisionary6 小时前
Runway开源机器人大模型Praxis-1,推演延迟压到62毫秒
python·自动化
爱和冰阔落9 小时前
【Linux网络】TCP 半包粘包怎么解决?从长度报头、JSON 拆包到网络计算器完整实战
linux·运维·网络·tcp/ip
say_fall10 小时前
【Linux网络编程】UDP套接字编程:系统编程组件、基础回显服务、InetAddr与地址转换、翻译服务与线程池聊天室
linux·服务器·网络·udp·vr
ö Constancy11 小时前
一台电脑的硬件组成与作用:按功能分类详解(Windows 与 Linux 视角)
linux·windows·电脑