我是LINUX操作系统的新手。我正在使用ROS(机器人操作系统),在其中在单独的终端窗口中键入一些命令来进行设置。
即在运行程序之前,我必须做(每个都在单独的终端中):
~$ roscore
~$ rosrun nodelet nodelet standalone
velodyne_pointcloud/CloudNodelet
~/Desktop/OpenCV$ source setup.bash
~/Desktop/OpenCV$ rosrun pcl_tutorial
front_view_bag input:=/velodyne_points
/media/BE8C6D3A8C6CEDF9/Users/KARTHICK/Desktop/project/ros_datas$
rosbag play file2.bag
在实际运行我的C ++程序之前,上述命令是必需的,并且应按上述顺序执行,并从相应目录发出。
我正在使用Ubuntu 12.04。
是否可以编写一个程序或其他东西,以便如果我运行该单个程序,上述所有命令将在相应目录的单独终端中正确执行,而不是每次手动执行它们?
您可以制作一个shell脚本,为此,请使用+ +打开一个Terminal并输入:CtrlAltT
touch daily-script.sh
现在我们需要编辑该文件的内容
xdg-open daily-script.sh
接下来,将以下代码粘贴到您的文件中:
#!/bin/bash
cd $HOME
xterm -hold -e "roscore" &
xterm -hold -e "rosrun nodelet nodelet standalone velodyne_pointcloud/CloudNodelet" &
cd $HOME/Desktop/OpenC
xterm -hold -e "source setup.bash; rosrun pcl_tutorial front_view_bag input:=/velodyne_points" &
cd /media/BE8C6D3A8C6CEDF9/Users/KARTHICK/Desktop/project/ros_datas
xterm -hold -e "rosbag play file2.bag"
exit 0
保存文件后,打开终端并输入:
chmod +x daily-script.sh
最后,您的文件是可执行文件,可以运行它:
./daily-script.sh
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句