Meine nicht interaktive Bash-Shell hat extglob off. Ich möchte es in der Anweisung unmittelbar vor einem Befehl aktivieren, aber ich habe festgestellt, dass shopt -s extglobes sich innerhalb eines if .. then .. elseBlocks irgendwie nicht registriert.
Der folgende extglob-abhängige Befehl ist ungültig : syntax error near unexpected token '('.
Wo kann extglobeingestellt werden und warum gibt es überhaupt eine Einschränkung? Gilt dies für andere Optionen? ... GNU Bash 4.1.5
Das funktioniert:
shopt -s extglob
if true ;then
touch a.bcd; ls a.@(bcd)
fi
Dies schlägt fehl:
if true ;then
shopt -s extglob
touch a.bcd; ls a.@(bcd)
fi
... line 17: syntax error near unexpected token `('
... line 17: `touch a.bcd; ls a.@(bcd)'