[완료] 쉘 스크립트 if문

artop0420의 이미지

사용자의 키를 입력받습니다. 1부터 3까지 아무숫자나..
1부터 3번를 눌렀을때는 작업을 진행하는데
5번 눌렀을때는 메시지를 출려하면서 다시 입력받기를 원합니다.

단순히
if [ $input >= $num ]
then
echo "1-3번 입력필요"
else
..
.
.
.
fi

이렇게 하면 echo 문에서 종료를 시키고 프로세스가 종료되겠죠..ㅋㅋ
우찌 수정을 봐야할까요?

kimjh9978의 이미지

for,while과 같은 반목문을 이용하시는게 좋을 것 같습니다만..

artop0420의 이미지

최대값이 정해진 값이 아니고 매번 변경이 되기때문에 골치가 아팠는데
while로 최대값을 변수로 지정해서 반복문으로 변경했습니다. 잘됩니다. 감사합니다.

--- 나는요? ---

리눅스와 솔라리스 그리고 윈도우의 껍데기만 맛보고 있습니다.

--- 나는요? ---

리눅스와 솔라리스 그리고 윈도우의 껍데기만 맛보고 있습니다.

mirr187의 이미지

간단하게 한다면...

#!/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

이런식으로 하실수도 있습니다.