$0 is not changed by functions so this could not have worked (strange it *did* work on Fedora, I still have to find out why).
Move satcmd to other repo and distribute saturnin as a stand-alone shellfu library. Users can import just the library instead of embedding it inside their source tree, which enables them to delegate part of the job to package manager.