首页 > 解决方案 > 在 bash 脚本的第二个终端上执行命令

问题描述

我正在编写一个 bash 脚本,在 2 个不同的终端和原始终端上一次执行 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"

标签: bash

解决方案


使用 Bashwait命令使调用脚本等待后台进程完成。您的for循环意味着您可能会并行启动多个后台进程,即使在您的问题中只有一个。没有任何选项wait将等待所有选项。

我想知道您为什么要启动进程xterm而不是直接启动进程。


推荐阅读