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