Сценарий в ~ / .bashrc работает при выполнении вручную, но не в противном случае

Это довольно странно.
Таким образом, я разработал эту вещь под названием SahibLib и в основном это сценарий, который вы источник, который содержит кучу других скриптов.

Его дерево каталогов выглядит следующим образом:

 /home |- /home/myuser |- /home/myuser/sahiblib |- sahibload <- executed in ~/.bashrc |- sahiblib <- executed by sahibload |- modules |- core.sls <- problem file |- example.sls <- problem file 

Предполагается, что SahibLib является источником файлов .sls . Однако это не так.

Он выводит правильное сообщение («[УСПЕХ] Спасибо и до свидания».), Но фактические файлы не получены.

 myuser@mypc:~$ slhelp Invalid command. 

Как ни странно, когда я запускаю файл вручную, он работает:

 myuser@mypc:~$ . ~/.bashrc [SUCCESS] Thank you and goodbye. myuser@mypc:~$ slhelp SahibLib Core Help ... 

Мой вопрос в том, почему сценарий не работает правильно в ~ / .bashrc ?


Обновление . Написав некоторые команды отладки в core.sls , кажется, что файл выполняется отлично . Он доходит до конца файла и возвращает стандартный код выхода. Это делает проблему еще более странной, потому что теперь кажется, что Bash просто игнорирует определения функций. Кроме того, если вам нужно увидеть core.sls или любой из файлов, они доступны здесь