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을 밟아 보자~
댓글 달기