2016-11-28 6 views
-2

私は簡単なbashスクリプトを書いています。入力として0-9の間の整数だけを受け入れたいと思います。私は見てきましたが、回答がどこかに存在すれば謝罪することはあまりありませんでした。他の人が答えを持っていれば投稿を削除します。 はあなたに、このオプションは、正規表現をサポートしているのbashを必要とすることがbashの特定の範囲の入力のみを受け入れる

+1

「bashの読み込みと入力のチェック」の最初のGoogleの結果は、http://stackoverflow.com/q/848342/7010554です。これは役に立ちますか? – maij

答えて

1
#!/bin/bash 

while [[ 1 ]] ; do 
    echo -n "Enter a number: " 
    read input 
    if [[ "$input" =~ ^[0-9]$ ]] ; then 
     break 
    fi 
done 

echo "Got $input" 

注意をお願いします。また、あなたがあなたの質問で要求しているように、明示的に単一の整数だけを許可します。

+0

完璧なおかげで@ eddiem! –

+0

これを行うには正規表現は必要ありません。 '[[$ input == [0-9]]]'で囲まれたパターンで十分でしょう。 –

関連する問題