Ce code fonctionne sous GNU bash, version 5.0.7(1)-release (x86_64-redhat-linux-gnu) :
var="r=x"
case "$var" in
r=?(x|xy|xyz))
echo "suchess"
;;
esac
génère cette erreur :
bash: test.sh: line 3: syntax error near unexpected token `('
bash: test.sh: line 3: ` r=?(x|xy|xyz))'
Je n'arrive pas à comprendre pourquoi... code testé trouvé aquí et cela fonctionne.