正規表現チェックを含む次のコードは、bash 3 と bash 4 の間で同じ結果を出力しません。
TESTCASE="testcase0"
[[ ${TESTCASE} =~ "^testcase[0-9\.]*$" ]]
echo $?
echo ${BASH_REMATCH}
bash 3.2 は、正常な正規表現チェックを出力します。
0
testcase0
bash 4.1 は正規表現チェックに失敗します。
1
<empty line>
正規表現パターンのどこで式が失敗したかを特定できません。両方のバージョンの bash 間で互換性のあるコードが必要です。
誰かが私の問題についての手がかりを持っていますか?
ありがとう !