쉘 스크립트 파일 이름을 명령줄 인수 java -jar /test.sh로 전달하면 오류가 발생합니다. 오류: jarfile /test.sh에 액세스할 수 없습니다.

쉘 스크립트 파일 이름을 명령줄 인수 java -jar /test.sh로 전달하면 오류가 발생합니다. 오류: jarfile /test.sh에 액세스할 수 없습니다.
java -jar /test.sh --name trigger

Error: Unable to access jarfile /test.sh

test.sh 파일에는 다음이 포함됩니다.

#!/bin/sh
jar_name="-Dspring.config.location=application-test.properties somejarFileVersion_1.0" 
echo ${jar_name}

답변1

거기에 두 가지 질문이 있습니다.

  1. java는 "test.sh"라는 jar 파일을 열려고 합니다. 하지만 파일은 jar가 아니라 쉘 스크립트입니다. 당신이 원하는 것은산출jar 파일의 이름으로 사용할 쉘 스크립트의 이름입니다. 따라서 다음을 수행해야 합니다.
java -jar $(bash ./test.sh) --name trigger
  1. 또한 스크립트는 유효한 jar 파일 이름을 생성하지 않습니다. Java 옵션과 jar 파일 이름을 인쇄합니다. 이러한 -D....것들을 꺼내서 원래 명령에 넣어야 합니다.

관련 정보