Nesta situação, se você quisesse obter o nome do caminho do script principal em BASH_SOURCE
, você teria que usar ${BASH_SOURCE[1]}
.
Para cada nível de fornecimento, um novo elemento é adicionado ao início da matriz BASH_SOURCE
, para que ${BASH_SOURCE[0]}
seja sempre o arquivo de origem atual e ${BASH_SOURCE[1]}
o que é foi originado de (e ${BASH_SOURCE[2]}
o que ele foi originado, se foi originado). Para chegar ao script principal, veja ${BASH_SOURCE[-1]}
, o último elemento.
O fornecimento de um script não copia completamente o conteúdo do script no script principal. É como executando um script comum, mas é executado no mesmo ambiente que o script principal. É mais parecido com a execução de uma função.