Java 애플리케이션을 개발했습니다. 저는 애플리케이션을 5개의 하위 애플리케이션으로 나누고 셸 스크립트를 사용하여 각 하위 애플리케이션에 대한 서비스 래퍼를 만들었습니다.
subaap1/bin/app.sh
subaap2/bin/app.sh
...
startup.sh
이제 모든 래퍼 스크립트를 실행하는 시작 스크립트를 만들고 싶습니다 .
#!/bin/bash
sh subaap1/bin/app.sh start
sh subaap2/bin/app.sh start
...
하지만 실행하면 다음과 같은 결과를 얻습니다.
예상치 못한 명령: 시작
이 문제를 어떻게 해결할 수 있나요?
답변1
하위 애플리케이션을 실행하기 위해 스크립트에서 sh를 사용할 필요는 없습니다.
그냥 사용:
#!/bin/bash
subaap1/bin/app.sh start
subaap2/bin/app.sh start
...
아래 의견을 기반으로 업데이트하십시오.
귀하의 버전이 작동해야 하지만 sh가 호출하는 쉘이 무엇인지 알아야 합니다. 쉘이 잘못되었거나 사용하려는 쉘에 대한 애플리케이션의 권한이 올바르지 않을 수 있습니다.