Meu shell bash não interativo possui extglob off
. Gostaria de ativá-lo na declaração imediatamente antes de um comando, mas notei que, quando shopt -s extglob
está dentro de um if .. then .. else
bloco, ele de alguma forma não é registrado.
A seguir dependentes de extglob comando não é válido: syntax error near unexpected token '('
.
Onde pode extglob
ser definido e por que existe alguma restrição? Isso se aplica a outras opções? ... GNU bash 4.1.5
Isso funciona:
shopt -s extglob
if true ;then
touch a.bcd; ls a.@(bcd)
fi
Isso falha:
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)'
alias e=echo; e hello
não funcionar: a definição de alias ocorre apenas na próxima nova linha.