2012-10-21 4 views
0

스크립트에서 10 개 이상의 매개 변수를 처리해야합니다. 다음과 같이 9 번째 매개 변수 다음에 선언하고 지정했습니다.Solaris에서 인수 10 이상이 잘못 대체되었습니다.

param10=${10} 
param11=${11} 
param12=${12} 

Linux에서는 제대로 작동하지만 solaris에서는 작동하지 않습니다. 나는 얻고있다 bad substitution

누구든지 내가 10 명 이상의 매개 변수를 읽는 것을 도울 수 있고 그것은 solaris와 linux 모두에서 작동 할 수있다. 어쩌면 구식

답변

3

하지만 this link에 따라 : $ 9

Bourne 쉘은 지원 위치 매개 변수 $ 0. 매개 변수 10 이상에 액세스하려면 "shift" 명령을 사용해야합니다. Shift는 $ 2에서 $ 1, $ 3에서 $ 2 등으로 이동합니다 ($ 0은 의 이름이고 명령은 호출되며 결코 이동하지 않습니다). 또한 한 번에 한 위치 씩보다 을 더 이동할 수 있습니다. 예를 들어, $ 1에서 $ 9까지 을 사용하고 "shift 9"명령을 실행하고 변수 $ 10에서 $ 9를 사용하여 변수를 다시 10에서 19로 처리 할 수 ​​있습니다.

관련 문제