最近在使用ROS的时候,有时候需要启动多个终端,比如需要一个终端启动launch
文件,还需要一个终端play数据集,比较麻烦,遂想通过一个脚本一次性启动多个终端,以跑个入门小乌龟为例,过程整理如下:
新打开一个终端的命令格式如下:
gnome-terminal -t "新终端标题" -x bash -c "执行的i命令;exec bash"
# gnome-terminal:新打开一个终端
# -t:给新终端命名加以区分,后面引号内输入终端标题
# -x:在新终端中想要执行的脚本
# exec bash:让打开的终端让执行完命令后不关闭
测试脚本内容
# 打印下测试信息
echo "test for the turtlesim..."
# 第一步:启动ROS节点管理器
gnome-terminal -t "start_ros" -x bash -c "roscore;exec bash"
# 睡眠1s
sleep 1s
# 第二步:启动小乌龟节点
gnome-terminal -t "start_turtlesim" -x bash -c "rosrun turtlesim turtlesim_node;exec bash"
# 睡眠1s
sleep 1s
# 第三布:启动键盘控制节点
gnome-terminal -t "start_keyboard" -x bash -c "rosrun turtlesim turtle_teleop_key;exec bash"
测试结果
小乌龟例子:
打开的终端:
虽然是基操,但还是比较有意思。。