【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
相关推荐
hello_ world.18 分钟前
RHCA10NUMA
linux
神秘人X7071 小时前
Linux高效备份:rsync + inotify实时同步
linux·服务器·rsync
轻松Ai享生活1 小时前
一步步学习Linux initrd/initramfs
linux
轻松Ai享生活1 小时前
一步步深入学习Linux Process Scheduling
linux
绵绵细雨中的乡音3 小时前
网络基础知识
linux·网络
Peter·Pan爱编程3 小时前
Docker在Linux中安装与使用教程
linux·docker·eureka
cxyll12344 小时前
postman+newman+jenkins接口自动化
自动化·jenkins·postman
kunge20134 小时前
Ubuntu22.04 安装virtualbox7.1
linux·virtualbox
清溪5494 小时前
DVWA中级
linux
Sadsvit5 小时前
源码编译安装LAMP架构并部署WordPress(CentOS 7)
linux·运维·服务器·架构·centos