私は、経験の浅い Linux ユーザーがいくつかのコマンドを使用できるように、小さな bash スクリプトを作成しています。if ステートメントのパターン マッチングを行うときに中かっこを使用していることです。
regex="[A-Za-z0-9]/{5/}"
if [[ $2 =~ $regex ]]
then
num=$2
else
echo "Invalid entry"
exit 1
fi
これは、正確に 5 文字の AZ、az、または 0-9 をキャプチャする必要があります。
エスケープの有無にかかわらず、何度も、多くのバリエーション、多くの引用符を試しました...何も機能していないようです:
+ regex='[A-Fa-f0-9]/{5/}'
+ [[ abcd1 =~ [A-Za-z0-9]/{5/} ]]
+ echo 'Invalid entry'
私が見逃しているアイデアはありますか?
GNU bash, version 3.2.39(1)-release