在ROS程序中经常涉及到需要打开多个终端运行程序的情况,通常ROS程序会包含多个节点,而每个节点都需要在一个终端中运行,在脚本中打开新的终端并在其中运行程序的方法如下
gnome-terminal -x bash -c "命令"
命令可以是终端指令或者另一个脚本程序,如
"roscore"
"roslaunch proj prog.launch"
"./test.sh"
等,如果执行多个命令,可以用分号隔开,如
"test1.sh; test2.sh"
在有些程序启动需要等待前面的程序启动完成后才能启动的情况,可以用sleep命令等待一定时间。
Ubuntu系统从18.04开始,用--替换-x,即
gnome-terminal -- bash -c "命令"
来在另一终端中运行指令。