KAR*_*HIK 4 command-line gnome-terminal 12.04 execute-command
我是 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
Run Code Online (Sandbox Code Playgroud)
在我实际运行我的 C++ 程序之前,必须执行上述命令,并且按照上述顺序,从相应的目录发出。
我正在使用 Ubuntu 12.04。
是否可以编写程序或其他东西,以便如果我运行该单个程序,上述所有命令都将在相应目录的单独终端中正确执行,而不是每次都手动执行?
你可以让一个shell脚本,这样做,打开一个终端与Ctrl+ Alt+T和类型:
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
Run Code Online (Sandbox Code Playgroud)
保存文件后,打开终端并键入:
chmod +x daily-script.sh
最后你的文件是可执行的,运行它:
./daily-script.sh