Como acessar uma matriz Bash de um script Bash separado, não filho?

4

Eu tenho uma matriz criada em um script Bash. Demora um pouco de trabalho para obter as informações que eu quero lá, e é uma matriz que seria muito útil em outros scripts. Eu não quero duplicar o código através de todos os outros scripts. Os outros scripts não são lançados como filhos deste script, portanto, export não será de nenhuma ajuda aqui.

A única maneira sensata de obter acesso a essa matriz é a fonte do script que a cria? Existe outra maneira de fazer isso?

    
por Arronical 09.08.2016 / 15:58

1 resposta

4

Sim, no que diz respeito ao cenário, source -ing é a única maneira de obter essa matriz do script em outra sessão de shell não relacionada. Também é a única maneira de obter um parâmetro de um script na sessão de shell atual, pois a execução de um script gerará uma subcamada.

Como uma solução alternativa para o não fornecimento instantâneo, você pode manter o array em cada ambiente de sessão de shell interativo colocando-o em ~/.bashrc , isso obviamente significa que você precisa source desse script no início. Então, se você quiser o array, sua única opção é source -ing mais cedo ou mais tarde.

    
por heemayl 09.08.2016 / 16:12