【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
相关推荐
倔强的石头1064 分钟前
【Linux指南】Makefile入门:从概念到基础语法
linux·运维·服务器
风_峰8 分钟前
Petalinux相关配置——ZYNQ通过eMMC启动
嵌入式硬件·ubuntu·fpga开发
风_峰8 分钟前
【ZYNQ开发篇】Petalinux和电脑端的静态ip地址配置
网络·嵌入式硬件·tcp/ip·ubuntu·fpga开发
ajassi20009 分钟前
linux C 语言开发 (七) 文件 IO 和标准 IO
linux·运维·服务器
程序猿编码11 分钟前
基于 Linux 内核模块的字符设备 FIFO 驱动设计与实现解析(C/C++代码实现)
linux·c语言·c++·内核模块·fifo·字符设备
一只游鱼24 分钟前
Zookeeper介绍与部署(Linux)
linux·运维·服务器·zookeeper
wheeldown1 小时前
【Linux】 存储分级的秘密
linux·运维·服务器
天天进步20152 小时前
掌握React状态管理:Redux Toolkit vs Zustand vs Context API
linux·运维·react.js
艾醒(AiXing-w)2 小时前
探索大语言模型(LLM):Ollama快速安装部署及使用(含Linux环境下离线安装)
linux·人工智能·语言模型
垚垚领先2 小时前
Kdump 文档 - 基于 kexec 的崩溃转储解决方案
linux