按照文件中提到的顺序执行 Bash 脚本中的终端命令

按照文件中提到的顺序执行 Bash 脚本中的终端命令

我正在尝试在 MAC 中创建一个 bash 脚本,它将打开所需的软件,并在我运行此脚本时运行所需的命令。因此,我在文件中放入了一些命令,并用.command扩展名命名它,以便当我双击该文件时,该文件将由终端自动打开并运行。

我对 Bash 脚本没有太多了解,所以我面临以下两个问题。

  • sleep 15问题 1:(编辑:如果我在运行下一个命令之前让 bash 暂停一段时间,问题 1 就得到解决)

    当我按顺序手动运行 2 个命令时,我看到打开了 2 个 IDE 实例,其中包含 2 个文件夹位置。但是当我将其放入一个文件并运行该文件时,似乎只有第二个 IDE 实例被打开。

    #!/bin/sh open -a "IntelliJ IDEA.app" /app_location/app1 open -a "IntelliJ IDEA.app" /app_location/app2


  • 与长时间运行的命令相关的问题 2:

    我想在终端中打开多个选项卡并运行各种命令。我怎样才能做到这一点。我尝试如下,但由于第一个命令只是一个长时间运行的命令,直到我手动停止应用程序,因此除非我停止第一个命令,否则下一个命令不会运行。那么,如何打开多个终端选项卡并运行命令,而无需等待上一个命令完成?

    osascript -e 'tell application "Terminal" to activate' -e 'tell application "System Events" to tell process "Terminal" to keystroke "t" using command down'
    APP_BASE_LOCATION="/somepath"
    cd $APP_BASE_LOCATION/app1
    mvn spring-boot:run
    
    osascript -e 'tell application "Terminal" to activate' -e 'tell application "System Events" to tell process "Terminal" to keystroke "t" using command down'
    APP_BASE_LOCATION="/somepath"
    cd $APP_BASE_LOCATION/app2
    npm start
    

相关内容