Linux Gonme: запустить несколько терминалов и выполнить команду в каждом - PullRequest
0 голосов
/ 03 апреля 2020

Как я могу реализовать следующий сценарий в Ubuntu Linux?

Я хочу go на моей консоли, затем выполнить ./startdev.sh и затем

1) Откроется терминал 1 вверх, запускается /home/foobar/bla1.sh
2) Терминал 2 выскакивает, запускается /home/foobar/bla2.sh
3) Терминал 3 выскакивает, запускается /home/foobar/bla3.sh

Я уже понял, что команда "gnome-terminal & disown "запускает новый терминал. Однако до сих пор я не знаю, как выполнить команду в этом терминале.

Я принимаю любой ответ, который дает мне либо полную реализацию для startdev.sh, либо список команд, которые я могу использовать.

Спасибо!

Ответы [ 2 ]

1 голос
/ 03 апреля 2020

Попробуйте это содержимое для startdev. sh:

#!/bin/bash

gnome-terminal --command=/home/foobar/bla1.sh & disown
gnome-terminal --command=/home/foobar/bla2.sh & disown
gnome-terminal --command=/home/foobar/bla3.sh & disown

Но мне не ясно, почему вам нужно отречься от запущенных процессов.

1 голос
/ 03 апреля 2020

Попробуйте этот сценарий

Если вам нужно одновременно выдвинуть все терминалы

#!/bin/bash
gnome-terminal -e "bash -c '/home/foobar/bla1.sh; sleep 10'" | gnome-terminal -e "bash -c '/home/foobar/bla2.sh; sleep 10'" | gnome-terminal -e "bash -c '/home/foobar/bla3.sh; sleep 10'"

, в противном случае, если вам нужно запустить команды одну за другой, тогда.,

#!/bin/bash
gnome-terminal -e "bash -c '/home/foobar/bla1.sh; sleep 10'" 
gnome-terminal -e "bash -c '/home/foobar/bla2.sh; sleep 10'" 
gnome-terminal -e "bash -c '/home/foobar/bla3.sh; sleep 10'"

этот скрипт откроет несколько терминалов и выполнит команду, указанную в кавычках, и я использовал sleep, чтобы удержать терминал от выхода, если он не добавлен. Gnome-терминал выполнит команду и немедленно выйдет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...