如何在单独的终端中自动执行命令?

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。
是否可以编写程序或其他东西,以便如果我运行该单个程序,上述所有命令都将在相应目录的单独终端中正确执行,而不是每次都手动执行?

eft*_*lex 6

你可以让一个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