La mia shell bash non interattiva ha extglob off. Vorrei attivarlo nell'istruzione immediatamente prima di un comando, ma ho notato che quando si shopt -s extglobtrova all'interno di un if .. then .. elseblocco, in qualche modo non si registra.
Il seguente extglob-dipendente comando non è valido: syntax error near unexpected token '('.
Dove può extglobessere impostato e perché esiste una restrizione? Questo vale per altre opzioni? ... GNU bash 4.1.5
Questo funziona:
shopt -s extglob
if true ;then
touch a.bcd; ls a.@(bcd)
fi
Questo fallisce:
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)'