ユーザーに番号0-3を入力させてテストしたいとします。最も一般的な方法があるように思わ:[[]]コマンドを使用して式の形式を変換する
[[ $var =~ ^[0-3]$ ]]
しかし、どのようにあなたがこれを使用します。
test expression
私の最初の試みは、例えば、正しく評価しません。
read -p "Enter selection [0-3] > "
if test $REPLY == '^[0-3]$' ; then
...
それだけで偽としてif
文を評価します。
'test'コマンドは正規表現をサポートしていません。代わりに 'expr'を使用してください:http://stackoverflow.com/questions/7159441/bash-scripting-regular-expressions – ymonad
' test "$ var" = 0 ||テスト "$ var" = 1 ||テスト "$ var" = 2 ||テスト "$ var" = 3 && echo okay' – Cyrus