사용자의 키를 입력받습니다. 1부터 3까지 아무숫자나.. 1부터 3번를 눌렀을때는 작업을 진행하는데 5번 눌렀을때는 메시지를 출려하면서 다시 입력받기를 원합니다.
단순히 if [ $input >= $num ] then echo "1-3번 입력필요" else .. . . . fi
이렇게 하면 echo 문에서 종료를 시키고 프로세스가 종료되겠죠..ㅋㅋ 우찌 수정을 봐야할까요?
for,while과 같은 반목문을 이용하시는게 좋을 것 같습니다만..
최대값이 정해진 값이 아니고 매번 변경이 되기때문에 골치가 아팠는데 while로 최대값을 변수로 지정해서 반복문으로 변경했습니다. 잘됩니다. 감사합니다.
--- 나는요? ---
리눅스와 솔라리스 그리고 윈도우의 껍데기만 맛보고 있습니다.
간단하게 한다면...
#!/bin/sh
num=4
func() { echo -n "input number: " read no
input=$no
if [ $input -ge $num ] then echo "1-3번 필요" func else echo "input: $input" fi }
func
내지는 윗분이 얘기하신 것처럼 while 문을 사용하셔서 while(true) do echo -n "input number: " read no
if [ $input -ge $num ] then echo "1-3번 필요" else echo "input: $input" break; fi done
이런식으로 하실수도 있습니다.
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
반복문을 이용하셔야 하지 않을까요?
for,while과 같은 반목문을 이용하시는게 좋을 것 같습니다만..
최대값이 랜덤
최대값이 정해진 값이 아니고 매번 변경이 되기때문에 골치가 아팠는데
while로 최대값을 변수로 지정해서 반복문으로 변경했습니다. 잘됩니다. 감사합니다.
--- 나는요? ---
리눅스와 솔라리스 그리고 윈도우의 껍데기만 맛보고 있습니다.
--- 나는요? ---
리눅스와 솔라리스 그리고 윈도우의 껍데기만 맛보고 있습니다.
간단하게 한다면...
간단하게 한다면...
#!/bin/sh
num=4
func() {
echo -n "input number: "
read no
input=$no
if [ $input -ge $num ]
then
echo "1-3번 필요"
func
else
echo "input: $input"
fi
}
func
내지는 윗분이 얘기하신 것처럼 while 문을 사용하셔서
while(true)
do
echo -n "input number: "
read no
input=$no
if [ $input -ge $num ]
then
echo "1-3번 필요"
else
echo "input: $input"
break;
fi
done
이런식으로 하실수도 있습니다.
댓글 달기