2012-07-24 4 views
0

Java 프로그램의 매개 변수를 셸 스크립트의 환경 변수를 사용하여 셸 스크립트로 전달할 때 매개 변수를받습니다. $ 9를 사용하여 9까지 매개 변수를 가져올 수 있습니다. 그러나 10 번째 매개 변수를 얻으면 오류가 발생합니다. 10 번째 매개 변수의 입력을 얻기 위해 $ {10}을 (를) 사용하고 있습니다. 내가 어디로 잘못 가고 있는지.환경 변수 표현 10

+0

** 정확한 오류 ** 메시지는 무엇입니까? – Jens

답변

1

${10} 형식에 대해 확실하지 않지만 잘 들어 맞습니다. 그러나 shift 기본 제공 함수를 사용하여 $1을 다시 사용할 수 있습니다. 그렇게하는 것.

#!/bin/sh 

a=$1 
shift 
b=$1 

echo "$a:$b" 

그리고 그렇게 실행할 수 있습니다.

[email protected]% ~/foo.sh Hello Goodbye 
Hello:Goodbye 
+0

답장을 보내 주셔서 감사합니다.하지만 약 15 개의 매개 변수를 셸에 전달하므로 $ 1이 제가 보낸 첫 번째 매개 변수를 나타낼 수 있습니다 – NandaKumar

+0

예하지만 순서는 관련이 있습니까? 따라서 처리를 시작하기 전에 값을 가져온 블록을 넣은 다음 15 개의 값 모두에 대해 반복적으로 이동시킬 수 있습니다. –

+0

평범하지 않은 인수가 전달되면 어쨌든'getopts'를 사용해야합니다. –