shell programming 에서 10번째 인자를 어떻게 얻을수 있을 까요

익명 사용자의 이미지

안녕하세요.

shell programming 하고 있는데요... (csh...) $1 ~ $9 까지의 값은 잘 가
져 오는 데염 $10 하니까 $1 값에 0이 붙고 $11 하면 $1 값에 1이 붙네
염. $#으로 찍어보면 17개가 있다고 그러는데... 음냐...

어떻게 해야 할까요? 경험자의 조언을 부탁드립니다.

그럼 수고하세요.

익명 사용자의 이미지

음냐리...

shift를 사용하문 되네염...

#!/bin/sh
SCRIPTNAME=$0
ARG1=$1
shift
ARG2=$1
.
.
.

shift하문... 인자가 하나씩 당겨집니다. 그래서 ARG2=$1으로 되어 있지
만 shitf 한 후이기 때문에 원래의 $2가 들어가게 됩니다. 주의 할 것은
앞의 것들은 없어지기 때문에 위의 예처럼 앞의 것들은 변수로 빼두어야
한다는 겁니다(SCRIPTNAME=$0). 그럼... 빠이...

더 쌔끈한 방법이 있으신 분은 알려 주세염.. 그럼 슈고...

익명 사용자의 이미지

#!/bin/sh
echo ${10}

이렇게 해보세요..

익명 사용자의 이미지

${}는 NULL인 데이터를 대체하거나 하는 경우에 쓰는 것 아닌가요?
음냐... 일단 ${10} 이러니까 에러 나는데염.. ^^
메뉴얼에도 보니까 a digit 이라고 되어 있는 것이... 일단 좀 더 뒤져
봐야 겠지만(시간 있으문...) 지금 현재로는 shift 써서 사용하는 것 밖
에 답이 안보이네염...

그럼 수고하세요. 감사합니당...

익명 사용자의 이미지


흠.. 제 꺼에서는 (linux, Solaris 8)
$10, $11 해도 잘 먹던데...

혹시 잘 안되시면 $argv[10], $argv[11] 식으로 한번 해 보시는건 어때
요? 제꺼에서는 $10이나 $argv[10]이 둘 다 잘되어서리...

ㅡ.ㅡ