쉘 스크립트에서 Java로 배열 전달

쉘 스크립트에서 Java로 배열 전달

쉘 스크립트에서 Java 기본 메소드로 즉시 전달하려는 다음 데이터가 있습니다.

1  firstfile.txt   Success
2  secondfile.txt  Failed
3  thirdfile.txt   Success

다음과 같이 java를 호출할 수 있다는 것을 알고 있습니다. 여기서 합계는 var1단일 var2문자열을 나타냅니다.

java $myJava "$var1" "$var2" 

그런데 위 데이터를 Java에 배열로 전달할 수 있나요?

답변1

명령줄을 통해 쉘 스크립트에서 Java 배열을 전달할 수 없습니다. 배열을 나타내는 문자열 목록을 전달할 수 있습니다.

예를 들어,

a=(
    '1  firstfile.txt   Success'
    '2  secondfile.txt  Failed'
    '3  thirdfile.txt   Success'
)

printf "We will pass %d parameters:" ${#a[@]}; printf " '%s'" "${a[@]}"; printf "\n"
java "$myjava" "${a[@]}"

명령문 에서 We will pass...매개변수와 공백으로 구분된 단어 간의 차이를 표시하기 위해 문자열 주위에 따옴표를 추가했습니다. Java 프로그램에서 따옴표를 볼 수 없습니다.

관련 정보