红联Linux门户
Linux帮助

ubuntu下通过命令打开多个终端并在相应终端执指令

发布时间:2016-12-30 11:26:00来源:linux网站作者:zhubaohua_bupt
有时候我们在ubantu下每次运行一个工程时都需要打开多个终端,这对我们调试而言很不方便。比如SVO-REMODE编译运行方法:
ubuntu下通过命令打开多个终端并在相应终端执指令
需要打开5个终端,并执行相应指令。很容易想到,如果能写一个脚本,运行这个脚本就能够帮我们开启多个终端并执行相应的指令就好了。上网搜了一下,方法如下:
指令:
gnome-terminal -x bash -c "子终端要执行的命令1;2;...."
 
在一个终端执行上述命令的效果就是,会打开一个新的终端,并在新的终端执行"子终端要执行的命令"(注意:多条命令用分号隔开),然后退回原来的终端。子终端执行完其命令会自动退出。
现在我们就可以这样运行SVO-REMODE编译运行方法中的工程。
 
先写一个脚本
svo_remode.sh
cd   
gnome-terminal -x bash -c "roscore"  
gnome-terminal -x bash -c "rosbag play /media/baohua/media/SLAM_DATA/px4_2_fly_over_debris.bag"  
gnome-terminal -x bash -c "rosrun rviz rviz -d /home/baohua/project/SLAM/REMODE_SVO/catkin_ws/src/rpg_open_remode/open_remode.rviz  "  
gnome-terminal -x bash -c "roslaunch rpg_open_remode px4_2.launch "
 
然后随便打开一个终端
cd $path(svo_remode.sh)  
chmod +x svo_remode.sh//给此脚本赋权限,以后再运行此脚本就不用做了
 
以后运行程序,只需要就执行下列命令就可以啦
cd $path(svo_remode.sh)  
./svo_remode.sh
 
本文永久更新地址:http://www.linuxdiyf.com/linux/27377.html