Выполнить команду на втором терминале в скрипте bash - PullRequest
0 голосов
/ 25 июня 2019

Я пишу сценарий bash для одновременного выполнения 2 команд на 2 разных терминалах и на исходном терминале, ожидаем завершения обоих терминалов и продолжения работы с оставшимся сценарием.

Я могу открыть другой терминал с помощью требуемой команды, однако исходный терминал, похоже, не ожидает завершения второго и автоматического закрытия второго, прежде чем продолжить работу с оставшимся сценарием.

#!/bin/bash

read -p "Hello"
read -p "Press enter to start sql installation"

for i in 1
do

xterm -hold -e mysql_secure_installation &
done
echo  "completed installation"

1 Ответ

0 голосов
/ 26 июня 2019

Используйте команду Bash wait, чтобы вызывающий скрипт ожидал завершения фонового процесса.Ваш цикл for подразумевает, что вы можете запускать несколько фоновых процессов параллельно, хотя в вашем вопросе есть только один.Без каких-либо опций wait будет ждать их всех.

Интересно, почему вы запускаете процессы в xterm, а не напрямую.

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