最近做一个仿真,需要分别启动四个roslaunch文件,光source就很累了,便想着新建一个脚本.sh文件,一键启动他们得了
目录
0,前期工作
先介绍一下终端的一些信息,在终端输入:
gnome-terminal
看能否打开一个新的终端,理论上会直接弹出的。
同时,运行gnome-terminal有一些参数的要求,如下:
-t 终端的标题 //注意,有些版本不支持
-e 可以出现多次
-x 只能出现一次,在-x后面的所有内容,均认为是要执行的命令,所以可以出现空格
执行脚本后要保持标签不消失,需要加上exec bash 的命令,并用分号跟前面的命令隔开
因此最终.sh文件中命令的样式如下:
gnome-terminal -t "your_title" -x bash -c "roslaunch startup start.launch;exrc bash"
上面命令中,双引号里面“your_title”是新开的这个终端的标题、"roslaunch startup start.launch;exrc bash"是你要启动的程序指令,并不局限于roslaunch
了解完毕,开始新建我们自己的脚本文件
1,创建脚本
cd (你要新建.sh文件的目录)
touch (file+name)
例如start_sim.sh,后面均以他为例
touch start_sim.sh
2,添加可执行权限
sudo chmod +x start_sim.sh
3,编辑文件内容
不喜欢vim所以用gedit了
gedit start_sim.sh
进入编辑页面,编辑内容为你需要的即可
#!/bin/bash
cd /home/demo
source devel/setup.bash
{
gnome-terminal -t "xxxx(your_title_1)" -x bash -c "roslaunch xxxxx.launch;exec bash"
}&
sleep 5s
source devel/setup.bash
{
gnome-terminal -t "xxxx(your_title_2)" -x bash -c "roslaunch xxxxx.launch;exec bash"
}&
sleep 5s
source devel/setup.bash
{
gnome-terminal -t "xxxx(your_title_3)" -x bash -c "roslaunch xxxxx.launch;exec bash"
}&
然后保存,关闭
4,测试运行
还在这个目录下
./start_sim.sh
成功