Задача: узнать имя текущего скрипта, если скрипт не исполняется, а сорсится:
$ cat call.sh
#!/bin/sh
. /tmp/tmp/script.sh
$ cat script.sh
#!/bin/sh
echo $0
echo $BASH_SOURCE
$ bash call.sh
call.sh
/tmp/tmp/script.sh
$ zsh call.sh
/tmp/tmp/script.sh
$ /bin/busybox sh call.sh
call.sh
В общем, хуй поймёт как это кросс-интерпертаторно сделать