[username@notebook ~]$ cat foo.sh
#!/bin/bash
echo "$0"
[username@notebook ~]$ ./foo.sh
./foo.sh
[username@notebook ~]$
问题: 如何输出“foo.sh”?不管它是如何执行的。
答案1
答案2
POSIXly,你只需要参数扩展:
#!/bin/bash
printf '%s\n' "${0##*/}"
[username@notebook ~]$ cat foo.sh
#!/bin/bash
echo "$0"
[username@notebook ~]$ ./foo.sh
./foo.sh
[username@notebook ~]$
问题: 如何输出“foo.sh”?不管它是如何执行的。
POSIXly,你只需要参数扩展:
#!/bin/bash
printf '%s\n' "${0##*/}"