Use basename
:
#!/bin/bash
basename -- "$0"
Se você quiser atribuí-lo a uma variável, você faria:
my_name=$(basename -- "$0")
[username@notebook ~]$ cat foo.sh
#!/bin/bash
echo "$0"
[username@notebook ~]$ ./foo.sh
./foo.sh
[username@notebook ~]$
Pergunta : Como posso produzir o "foo.sh"? Não importa como foi executado.
Use basename
:
#!/bin/bash
basename -- "$0"
Se você quiser atribuí-lo a uma variável, você faria:
my_name=$(basename -- "$0")
POSIXly, você só precisa da Expansão do parâmetro :
#!/bin/bash
printf '%s\n' "${0##*/}"
Tags bash shell-script