Как автоматизировать выполнение команд в отдельных терминалах?

Я плохо знаком с операционной системой 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.
Действительно ли возможно записать программу или что-то так, чтобы, если я запускаю ту единственную программу, все вышеупомянутые команды были правильно выполнены в отдельных терминалах в соответствующих каталогах вместо того, чтобы вручную выполнить их каждый раз?

4
задан 25 September 2014 в 20:04

1 ответ

Можно сделать сценарий оболочки, чтобы сделать так, открыть Terminal with Ctrl + Высокий звук + 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

После того как Вы сохранили файл, открывают Terminal и тип:

chmod +x daily-script.sh

Наконец Ваш файл является исполняемым файлом, для выполнения его:

./daily-script.sh

6
ответ дан 1 December 2019 в 09:25

Другие вопросы по тегам:

Похожие вопросы: