bash 쉘프로그램중 substr 결과값이 다르게 나오네요??
글쓴이: comdemo / 작성시간: 월, 2005/01/24 - 10:28오전
다음과 같은 쉘(bash)프로그램을 작성중입니다.
#!/usr/local/bin/bash yyyy=`expr substr $1 1 4` mm=`expr substr $1 5 2` dd=`expr substr $1 7 2` sjgubun=`expr substr $1 9 1` echo $yyyy echo $mm echo $dd echo $sjgubun
LINUX의 결과
./test.sh 20050110A 2005 01 10 A
HP UNIX의 결과
./test.sh 20050110A 2005 1 10 A
위와 같은 프로그램을 리눅스와 HP UNIX에서 돌렸더니 결과값이 다르게 나오네요..
리눅스쪽 bash는 2.05b.0(1)-release이구요 HP UNIX쪽 bash는 2.05.0(1)-release입니다.
왜 그런지 아시는분 답변 좀 부탁드립니다.
Forums:
HP-UX 에서 "echo 01" 했을때의 결과는 "1" 인가요 아님 "
HP-UX 에서 "echo 01" 했을때의 결과는 "1" 인가요 아님 "01" 인가요..?
substr이 아니라 echo 이 의심되는데요 =3=33
만약 echo 에서 정수 출력과 관련해서 서로 다른거라면.. printf %02d $var 식으로 printf 를 활용해보세요..
오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...
http://mytears.org ~(~_~)~
나 한줄기 바람처럼..
echo가 범인은 아닌듯..
echo가 범인은 아닌듯 합니다. :D
로그인한것 같은데 손님으로 작성되어 버렸네요..위의 echo 테스트
로그인한것 같은데 손님으로 작성되어 버렸네요..
위의 echo 테스트 HP UNIX에서의 테스트값입니다.
삶
각각의 변수 값을 찍어 보시죠...
bash -x ./test.sh 20050110A
위와 같이 실행하셔서 디버깅을 하시면 어디가 문제인지 쉽게 찾으실 수 있을 것 같네요.HP-UX B.11.00 에서 기본 shell로 [b]csh[/b]을
HP-UX B.11.00 에서 기본 shell로 csh을 사용합니다.
리눅스와 동일 결과군요.
* 그렇다면, bash(HP-UX 포팅버전)의 문제인가?
* 하여간 참고하세요.
윗글에 이어* HP-UX B.11.00 에서 [b]ksh, sh[/b
윗글에 이어
* HP-UX B.11.00 에서 ksh, sh의 경우도 동일합니다
* 참고하세요.
AIX Version 5 테스트
AIX Version 5에서 돌려본 결과도 리눅스와 동일하네요..
HP Unix용 bash의 버그(?)인건가요??
참고로 AIX에 설치된 bash는 2.05b.0(4)-release 였습니다.
혹시 다른 유닉스 머신이나 HP Unix에 bash 버전이 2.05.0(1)-release가 아닌 머신을 가지고 계신분 결과값 올려봐주시면 좋겠네요..
삶
댓글 달기