HP UX에서는 되는데 Linux에서 안되는 Shell Script
글쓴이: tgjang / 작성시간: 토, 2003/03/15 - 11:07오전
안녕하세요?
다음과 같은 Shell Script가 있는데 HP UX에서는 되는데 Linux에서는 안되는군요. 아시는분 부탁 드립니다.
#! /bin/sh #POSIX shell script #Script name : phone typeset -i x=0 typeset -i numlines=0 typeset -L30 name typeset -L30 surn typeset -R10 extn numlines=$(cat phonelist | wc -l) ((numlines=numlines - 1)) exec 3<phonelist while (( x <= numlines )) do read -u3 name[x] surn[x] extn[x] ((x = x+1)) done tput clear print $$(name[0]} ${surn[0]} ${extn[0]}\n" x=1 while (( x<=numlines)) do print "${name[x]} ${surn[x]} ${extn[x]}" ((x=x+1)) done Data file phonelist NAME SURNAME EXTENSION Alan Jones 123456 Susan Smith 654321 Henri Dubois 989898 Simone Rocher 567567[/code]
Forums:
Linux bash 에 typeset 에는 -L, -R 옵션이 없습니다
Linux bash 에 typeset 에는 -L, -R 옵션이 없습니다.
from saibi
-L, -R뿐만 아니라 아래 Read부분도 안디는군요.
답변 감사드립니다.
그런데 이부분도 안되는데 어떻게 고쳐야 할지 모르겠군요.
아시는분 부탁 드립니다.
read -u3 name[x] surn[x] extn[x]
위에 분이 말씀하신대로 typeset 옵션이 없는관계로..옵션빼구
위에 분이 말씀하신대로 typeset 옵션이 없는관계로..
옵션빼구 변수를 선언 하세요~
그리구 쉘 자체가 좀..
제가 보기엔 괜히 어렵게만 만든 쉘인듯 싶습니다...
대충 보면 phnoelist 파일을 읽어서 출력하는거 뿐인데..
파일 입력을 3이라는 출력터미널로 받는것두 좀 그렇구...
굳지 변수선언을 typeset으로 하실필요까진 없을 듯 싶네요..
그러지 마시구 그냥 awk를 조금 공부하셔서 바꾸시는게
정신건강상 좋을듯 싶습니다...
그리구 리눅스에서는 print가 없답니다.. 걍 echo로 바꾸셔두
무난합니다. 정 포멧이 필요하시면 printf로 하세요~
무의식속의 Step을 밟아 보자~
댓글 달기