파일에 언급된 순서대로 Bash 스크립트에서 터미널 명령을 실행합니다.

파일에 언급된 순서대로 Bash 스크립트에서 터미널 명령을 실행합니다.

이 스크립트를 실행할 때 필요한 소프트웨어를 열고 필요한 명령을 실행하는 bash 스크립트를 MAC에서 생성하려고 합니다. 그래서 파일에 몇 가지 명령을 넣고 .command파일을 두 번 클릭하면 터미널에서 자동으로 열리고 실행되도록 확장명으로 이름을 지정했습니다.

저는 Bash 스크립팅에 대해 잘 모르기 때문에 다음 두 가지 문제에 직면해 있습니다.

  • sleep 15문제 1: (편집: 다음 명령을 실행하기 전에 bash를 잠시 일시 중지하면 문제 1이 해결됩니다.)

    2개의 명령을 순차적으로 수동으로 실행하면 2개의 폴더 위치와 함께 2개의 IDE 인스턴스가 열리는 것을 볼 수 있습니다. 그런데 파일에 넣고 파일을 실행하면 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
    

관련 정보