ファイルに記載されている順序で、Bashスクリプトでターミナルコマンドを実行します。

ファイルに記載されている順序で、Bashスクリプトでターミナルコマンドを実行します。

このスクリプトを実行するときに必要なソフトウェアを開き、必要なコマンドを実行するbashスクリプトをMACで生成しようとしています。そのため、ファイルにいくつかのコマンドを入れてファイルをダブル.commandクリックすると、端末で自動的に開き、実行されるように拡張子で名前を付けました。

私はBashスクリプトについてよくわからないので、次の2つの問題に直面しています。

  • sleep 15問題1:(編集:次のコマンドを実行する前にbashを一時的に一時停止すると、問題1は解決します。)

    2つのコマンドを順番に手動で実行すると、2つのフォルダの場所で2つのIDEインスタンスが開くことがわかります。ところで、ファイルに入れてファイルを実行すると、IDEの2番目のインスタンスだけが開くようです。

    #!/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
    

ベストアンサー1

おすすめ記事