シェル スクリプトに渡される変数が特定のパターンと一致することを確認する必要があります。var x は AA-XXXX (つまり AA-1.2.33) の形式でなければなりません。一致しない場合は、終了する必要があります。
何か案は?
Bash は正規表現を直接サポートしています。
if ! [[ $mystring ~= $pattern ]]; then
exit
fi
二項演算子の完全な説明については、GNU Bash マニュアルのConditional Constructsを参照してください。=~
例として:
good_string='AA-1.2.33'
bad_string='BB.11.222.333'
regex='^AA-[[:digit:]]\.[[:digit:]]\.[[:digit:]][[:digit:]]$'
[[ "$good_string" =~ $regex ]]
echo $? # 0
[[ "$bad_string" =~ $regex ]]
echo $? # 1
bashで直接実行可能
var=AA-1.2.33
[[ $var =~ ^AA-.\..\...$ ]]
echo $?
0
var=AA-1.2.3355
[[ $var =~ ^AA-.\..\...$ ]]
echo $?
1