Bash Inclui Guarda

Ao construir um conjunto de scripts de shell interdependentes, é necessário usar o equivalente a uma “proteção de inclusão” C / C ++ para garantir que os scripts comuns não sejam originados mais de uma vez. A solução é bem simples.

Cole isso perto do topo do seu script bash:

[ -n "$LIB_NAME" ] && return || readonly LIB_NAME=1

Use algum nome exclusivo em vez de LIB_NAME</code>. For example:

bash-3.2$ cat my_lib.sh 
[ -n "$_MY_LIB" ] && return || readonly _MY_LIB=1

echo
"HELLO!"
bash
-3.2$ source my_lib.sh
HELLO
!
bash
-3.2$ source my_lib.sh
bash
-3.2$