Evitar a reinclusão do bash

1

Eu tenho um ninho de scripts bash que podem se originar, por exemplo a.sh fontes b.sh fontes a.sh etc ... Além de redesenhar, o que pode nem sempre ser viável, quais são as melhores práticas para evitar um loop de origem?

Uma abordagem que tenho é usar a presença de uma determinada função que indica, não para criar o script novamente. por exemplo,

a.sh: 
    declare -F a
    if [ $? -eq 0 ]
    then
        return
    fi
    ...
    function a()
    {
    }

outra é ter alguma variável por arquivo "$ sourced_a_sh" e se definir retornar.

Eles todos parecem muito desajeitados no entanto. Existe uma maneira mais agradável?

    
por Neil McGill 25.08.2014 / 20:24

1 resposta

1

Você pode adicionar isso como primeira linha em seu script a.sh:

[ "$sourced_a_sh" != "" ] && return || sourced_a_sh=.
    
por 26.08.2014 / 20:19

Tags