강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của deo01
deo01

câu hỏi đã được viết

Kỹ sư hệ thống hướng dẫn Linux cơ bản Bash Shell Script

script shell tương tác

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

Đã giải quyết

Viết

·

771

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

 

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

 

 

 

 

linuxshell-script

Câu trả lời 1

1

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

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

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

 

Hình ảnh hồ sơ của deo01
deo01

câu hỏi đã được viết

Đặt câu hỏi