유닉스 쉘 스크립트에 대해 궁금합니다
글쓴이: jinmanp / 작성시간: 금, 2011/07/01 - 3:06오후
shp파일 얻어오는 명령어를 쉘 스크립트로 만들려고 합니다.
밑에 명령어중에 11111을 스크립트 안에 써주면 쉘 스크립트가 정상적으로 작동되는데
11111 대신 $1을 쓰고 쉘스크립트를 실행할 때 11111을 인수로 주면
sde2shp 명령이 제대로 작동이 되질 않습니다.
$1을 써서 제대로 실행되게 하는 방법좀 알려주세요 ㅠㅠ
./aaa.sh
#!/usr/bin/bash
sde2shp -o init -l LO_PO_OBNN,shape -f 11111/LO_PO_OBNN -t polygon -a all -s $LMIS11111 -i 5151 -u aaa -p aaa
sde2shp -o init -l LA_PA_OBNN,shape -f 11111/LA_PO_OBNN -t polygon -a all -s $LMIS11111 -i 5151 -u aaa -p aaa
정상작동
./aaa.sh 11111
#!/usr/bin/bash
sde2shp -o init -l LO_PO_OBNN,shape -f $1/LO_PO_OBNN -t polygon -a all -s $LMIS$1 -i 5151 -u aaa -p aaa
sde2shp -o init -l LA_PA_OBNN,shape -f $1/LA_PO_OBNN -t polygon -a all -s $LMIS$1 -i 5151 -u aaa -p aaa
이건 오류
Forums:
다음과 같이 변수를 찍어보면서 디버깅하실수 있을거
다음과 같이 변수를 찍어보면서 디버깅하실수 있을거 같네요.
---
배려하는 마음을 갖자.
$1/LO_PO_OBNN 하고 $LMIS$1 를
$1/LO_PO_OBNN 하고 $LMIS$1 를 임의의 변수로 설정해서 실행해보세요.
a) $LMIS11111 => 변수
a) $LMIS11111 => 변수 LMIS11111의 값
b) $LMIS$1 => 변수 $LMIS와 $1가 이어진 값.
예) $LMIS가 3이고 $LMIS11111이 10이고, $1을 11111로 주어진다면
a) $LMIS1111 => 11
b) $LMIS$1 => 311111
$LMIS11111이 인자로 들어가는 부분이 어떤 의미인지 명확하게 살펴보시고 위의 두 댓글을 참고하시면 될 듯.
댓글 달기