Я установил свои bash-скрипты в /usr/bin/app.sh и /usr/bin/lib.sh
app.sh включает
source "/usr/bin/lib.sh"
и lib.sh включает
if [ "/usr/bin/app.sh" == "$0"] ...
Когда я запускаю app.sh из оболочки, этот тест не проходит, потому что $0 на самом деле /bin/app.sh . В файловой системе /bin является символической ссылкой на /usr/bin
Каков наилучший способ для lib.sh определить, включен ли он в app.sh (в отличие от other-app.sh) таким образом, чтобы его не обмануло окружение? Я бы подумал, что абсолютные пути без символических ссылок сделали бы эту работу, но, видимо, нет.
