while true
do
echo "Enter the number"
read Num
while[$Num -lt 1 || $Num -gt 50]
do
echo "Please enter a new number "
read Num
done
답변1
일부 오류와 경고가 있습니다. 도 이용해주세요shellcheck.net이 경우.
실수:
while
와 사이에 공백이 있습니다[
.[
앞뒤에 공백이 있습니다]
.아무것도 없기 때문에 재난이 발생합니다
done
. 아마도 잊어버렸거나 코드의 절반을 붙여넣었을 수도 있습니다.[ a ] || [ b ]
대신 사용하십시오[ a || b ]
.
경고하다:
read -r
대신 사용해야 합니다read
.변수 이름을 큰따옴표로 묶습니다. 그렇지 않으면 특수 문자가 있으면 작동하지 않습니다.
올바른 코드:
while true
do
echo "Enter the number"
read -r Num
while [ "$Num" -lt 1 ] || [ "$Num" -gt 50 ]
do
echo "Please enter a new number "
read -r Num
done
done