最大2桁の数字を受け入れる正規表現の作成方法を知っている必要があります
私が今持っているのは
^[0-9]{2}$
これは正確に2桁の数字と一致しますが、「2桁までの数字と一致する」を指定する方法がわかりません。
また、この数値が0でないことを確認する方法がある場合は、それはプラスになります。そうでない場合は、Bashで確認できます。
ありがとう! :)
入力変数はread-p "make achoice"から来ることに注意してください。
私の編集POST-コンテキストでコードを表示:
while true; do
read -p "Please key in the number of the engineer of your choice, or leave empty to select them all: " Engineer
if [ -z "$Engineer" ]; then
echo "No particular user specified, all engineers will be selected."
UserIdSqlString="Transactions.Creator!=0 "
break
else
if [[ $Engineer =~ ^[0-9]{1,2}$ && $Engineer -ne 0 ]]; then
echo "If you want a specific engineer type their number otherwise leave blank"
else
echo "yes"
break
fi
fi
done
bash [[ 条件式は、拡張正規表現をサポートします。
[[ $number =~ ^[0-9]{,2}$ && $number -ne 0 ]]
または、他に類を見ない@gniourf_gniourfがコメントで指摘しているように、先行ゼロのある数値を正しく処理するには、次のものが必要です。
[[ $number =~ ^[0-9]{,2}$ ]] && ((number=10#$number))
-_-これを20分間探していて、投稿した直後に答えが見つかりました... ^ [0-9] {1,2} $
^([1-9]|[1-9]{1}[0-9]{1})$
1,2,3 ... 99からのすべての番号に一致します
#!/bin/bash
if [ "$1" -gt 0 ] 2>/dev/null ;then
echo "$1 is number."
else
echo 'no.'
fi