Escopo das opções do shopt no script do cron

1

Eu tenho um script bash que é executado todas as noites em um cron job. Ele precisa fazer correspondência de arquivos insensíveis a maiúsculas e minúsculas, portanto, o script chama

shopt -s nocaseglob

Eu quero ter certeza de que isso não afeta outros scripts do cron. Essa configuração persiste depois que esse script termina? Ou essa configuração está ativada apenas pela duração do script?

Obrigado!

    
por Jeff 20.11.2014 / 21:28

1 resposta

1

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.

    
por 21.11.2014 / 01:42

Tags