$0
Чи я не так зрозумів?
Не так зрозуміли.
$ cat >tst.sh <<"EOF"
> echo ">${0}:${*}<"
> return
> EOF
$ source ./tst.sh aa bb
>bash:aa bb<
А мені треба отримати ./tst.sh
Втім, здається, знайшов вихід:
#* getmyname
getmyname ()
{
local retval="$(caller)"
echo "${retval#* }"
}
echo "Script name: $(getmyname)"
return
Але caller так працює тільки зсередини функції, тому дещо схоже, що це лише хак...