A configuração de opções com shopt
é uma configuração de shell. Ela afeta apenas a instância do shell em que você a executa: ela é local para o processo de shell e para subshells invocadas por $(…)
, (…)
e construções semelhantes. Ele não tem efeito em outros scripts de shell executados simultaneamente ou mais tarde, nem mesmo em scripts bash independentes que são executados a partir de comandos executados por esse script.
O mesmo se aplica aos valores e tipos de variáveis, desde que não sejam exportados. Também é possível ter variáveis que são locais para uma função; as opções são sempre globais, no sentido de que, se você as definir em uma função, elas permanecerão no lugar quando a função retornar.
Variáveis de ambiente (isto é, variáveis exportadas), redirecionamentos de E / S, limites de recursos, umask, diretório atual e várias outras configurações se aplicam ao processo de shell atual, bem como a todos os subprocessos (ou seja, todos os comandos invocados por esse script) . Eles também não escapam para processos não relacionados que podem ser executados simultaneamente.