[username@notebook ~]$ cat foo.sh
#!/bin/bash
echo "$0"
[username@notebook ~]$ ./foo.sh
./foo.sh
[username@notebook ~]$
Domanda : Come posso generare "foo.sh"? Non importa come è stato eseguito.
[username@notebook ~]$ cat foo.sh
#!/bin/bash
echo "$0"
[username@notebook ~]$ ./foo.sh
./foo.sh
[username@notebook ~]$
Domanda : Come posso generare "foo.sh"? Non importa come è stato eseguito.
Risposte:
POSIXly, hai solo bisogno di espansione dei parametri :
#!/bin/bash
printf '%s\n' "${0##*/}"
-
, è necessariobasename -- "$0"
. Usare l'espansione dei parametri della shell per evitarlo e non forzare l'avvio di un comando esterno.