[username@notebook ~]$ cat foo.sh 
#!/bin/bash
echo "$0"
[username@notebook ~]$ ./foo.sh
./foo.sh
[username@notebook ~]$ Pregunta : ¿Cómo puedo generar el "foo.sh"? No importa cómo se ejecutó.
                    
                        bash
                                shell-script
                                
                    
                    
                        maldita buena pregunta
fuente
                
                
            fuente

-, es necesariobasename -- "$0". Usar la expansión de parámetros de shell para evitar eso y no forzarlo a ejecutar comandos externos.POSIXY, solo necesita la expansión de parámetros :
fuente