쉘 스크립트에서 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 프로그램에서 따옴표를 볼 수 없습니다.