저는 pickanumber.sh라는 스크립트를 작성 중입니다. 사용자에게 숫자를 선택하도록 요청하는 스크립트를 설정 중입니다. "8" 이외의 숫자를 입력하면 스크립트가 계속 실행됩니다. 사용자가 "8" 이외의 숫자를 선택하면 스크립트가 계속 실행되도록 할 수 없습니다. for 루프를 사용해야 할까요, 아니면 while 루프를 사용해야 할까요? 이것은 지금까지 내 스크립트입니다.
rand_num=0
let "rand_num = $RANDOM % 10 + 1"
echo $rand_num
echo -n "pick a number from 1 - 10! "
read pickanumber
if [ "$pickanumber" = "8" ]; then
echo "GOOD JOB"
else
read $pickanumber
fi
답변1
while
루프를 사용 하거나 until
.
until [ "$pickanumber" = "8" ]; do
echo -n "pick a number from 1 - 10! "
read pickanumber
done
echo "GOOD JOB"
답변2
#!/bin/bash
let "rand_num = $RANDOM % 10 +1"
pickanumber=0
printf "Pick a number on this range [1-10]:"
read pickanumber
while [ true ]; do
if [ $pickanumber -eq $rand_num ];then
echo "Good Job!"
exit
else
printf "Wrong, try again?"
read pickanumber
fi
done