我正在使用Ubuntu 18.04.3 LTS
.
目前要启动我的开发环境,我必须在终端中运行以下每个命令:
sudo systemctl stop apache2
sudo /opt/lampp/manager-linux-x64.run
sudo /opt/PhpStorm-193.6015.48/bin/phpstorm.sh
sudo chmod -R 777 Desktop/Code/testProject
我想双击我桌面上的脚本并自动生成需要在后台运行的两个终端lampp
和phpstorm
但是,当当前执行脚本时,它只启动lampp
-server。
有什么建议我做错了吗?
感谢您的回复!
这是 Bash 的预期行为。它按顺序处理命令并等待前一个命令完成,然后再继续。但如果它没有结束,那么它就会陷入等待。
如果您不介意不看到其中一个进程,您可以执行的操作是运行命令后跟一个
&
符号。这会将其作为子进程启动,因此您不会看到它,但它将在后台运行。例如:
sudo /path/to/command.sh &
如果您需要它可见,您可以这样运行它
gnome-terminal -e command
。这应该会打开另一个终端窗口并在该窗口中运行指定的进程,让您的前一个窗口继续正常运行。您的脚本可能看起来像这样。