[username@notebook ~]$ cat foo.sh
#!/bin/bash
echo "$0"
[username@notebook ~]$ ./foo.sh
./foo.sh
[username@notebook ~]$
Pertanyaan : Bagaimana saya bisa mengeluarkan "foo.sh"? Tidak peduli bagaimana itu dieksekusi.
[username@notebook ~]$ cat foo.sh
#!/bin/bash
echo "$0"
[username@notebook ~]$ ./foo.sh
./foo.sh
[username@notebook ~]$
Pertanyaan : Bagaimana saya bisa mengeluarkan "foo.sh"? Tidak peduli bagaimana itu dieksekusi.
Jawaban:
POSIXly, Anda hanya perlu Ekspansi Parameter :
#!/bin/bash
printf '%s\n' "${0##*/}"
-
, Anda perlubasename -- "$0"
. Menggunakan ekspansi parameter shell untuk menghindari itu dan jangan memaksa Anda untuk meluncurkan perintah eksternal.