![누락된 ']' 쉘 오류](https://linux55.com/image/149992/%EB%88%84%EB%9D%BD%EB%90%9C%20'%5D'%20%EC%89%98%20%EC%98%A4%EB%A5%98.png)
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