BASH_SOURCE
(или, в частности, элемент с индексом 0 этого массива) - это имя файла, в котором происходит определение функции. Поскольку ваша оболочка наследует ql_get_latest
от своего родителя, имя «исходного файла» установлено на environment
. Вы можете увидеть это (и другой частный случай), если просто отобразите значение переменной из функции.
$ foo () { echo "$BASH_SOURCE"; }
$ foo
main
$ export -f foo
$ bash
$ foo
environment
В вашем случае вы пытаетесь найти файл с именем environment
, который не существует. (И если это так, это не обязательно будет связано с ql_get_latest
.)