我正在编写一个快速启动 shell 脚本,用于自动为当前项目设置开发环境。但是,由于服务器接管了终端,因此 shell 脚本中的任何命令都无法在服务器启动后执行。我尝试打开一个新选项卡,在其中启动服务器,然后继续在原始选项卡中执行我的 shell 脚本。我的脚本目前如下所示:
subl myProj
cd myProj
gnome-terminal --tab
npm start
google-chrome http://localhost:3000
myProj 最终在新选项卡中打开,并且服务器在原始选项卡中启动。chrome 从未启动。
答案1
脚本按顺序执行命令,并等待每个命令完成。但是,有一种方法可以让脚本继续执行特定的命令 -&
在脚本末尾添加。
例如:
!#/bin/bash
firefox
echo "Next line"
将等到 Firefox 关闭。
!#/bin/bash
firefox &
echo "Next line"
将执行echo
命令并允许保持 Firefox 处于打开状态