このスクリプトを実行するときに必要なソフトウェアを開き、必要なコマンドを実行する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