인프런 커뮤니티 질문&답변

앙앙기모님의 프로필 이미지
앙앙기모

작성한 질문수

시스템엔지니어가 알려주는 리눅스 기초편 Bash Shell Script

대화식 쉘 스크립트

쉘 스크립트 작성해보았습니다

해결된 질문

작성

·

656

2

GOAL=$[ ${RANDOM}% 100+1 ] # OR GOAL=$((${RANDOM}% 100+1))

loop=true
COUNT=1
while [ "${loop}" ];
do
# 입력 기회 20번으로 제한
if [[ ${COUNT} -eq 21 ]]; then
echo "아쉽네요, 다음 기회에 !"
break
fi

read -p "1~100 까지의 숫자를 입력해보세요 (게임 종료 : 'q') : " num

# 사용자가 'q'를 누른 경우
if [[ ${num} = "q" ]]; then
echo "게임이 종료됩니다"
echo""
break
fi

# 입력된 값이 없는경우
if [[ ! ${num} ]]; then
echo "숫자가 입력되지 않았습니다! 다시 입력해주세요"
echo ""
fi

# 지정된 범위를 초과하는 경우
if [[ ${num} -gt 100 ]]; then
echo "숫자가 너무 커요! 다시 입력해주세요 (1 ~ 100)"
echo ""
continue
elif [[ ${num} -lt 0 ]]; then
echo "숫자가 지정된 범위보다 작습니다 (1 ~ 100)"
echo ""
continue
fi

# 숫자가 아닌 값이 입력 되었을 경우
if [[ ${num} =~ [^0-9]$ ]]; then
echo -e "입력된 값이 숫자가 아닙니다!\n입력하신 값 : ${num}"
continue
fi

# 숫자 비교
if [[ ${num} -gt ${GOAL} ]]; then
echo -e "입력 값이 더 커요 ! \n남은 기회 : $((20 - ${COUNT}))"
elif [[ ${num} -lt ${GOAL} ]]; then
echo -e "입력 값이 더 작아요 ! \n남은 기회 : $((20 - ${COUNT}))"
elif [[ ${num} -eq ${GOAL} ]]; then
echo "축하합니다! 총 ${COUNT}번 만에 맞추셨어요!"
break
fi

((COUNT+=1)) # ((COUNT=COUNT + 1 )) , $((COUNT+=1)) , $[ COUNT+=1 ]

done

 

선생님 강의 너무 재밌어요 시간만 있다면 실전편까지 하루종일 들어버리고 싶어요

 

 

 

 

답변 1

1

그로스쿨님의 프로필 이미지
그로스쿨
지식공유자

간단한 예제를 다양한 경우를 추가해서 업그레이드를 해 주셨네요!!!!!

이런 정도면 남은 내용도 수월하게 진행하실 수 있을 것 같습니다.

세상에 ㅠㅠ제 강의가 재밌다니 너무 감동이에요 주말에 알러지 때문에 뻗어있었는데 앙앙기모님 말 덕에 다시 힘이 납니다!ㅠ

 

앙앙기모님의 프로필 이미지
앙앙기모

작성한 질문수

질문하기