关于路径:脚本如何在bash中知道自己的名字?

How a script know his own name in bash?

本问题已经有最佳答案,请猛点这里访问。

我启动script.sh,在里面我想知道他的名字

是否有标准程序来知道脚本名?其思想是能够从包含在$0中的完整路径+名称中提取名称。

谢谢


是的,$0将始终包含脚本的名称。使用basename提取名称。

basename /some/really/long/dir/path/myscripts/coolscript.sh将打印coolscript.sh

所以在脚本中,您可以这样做:

1
my_scriptname="$(basename $0)"


1
script="${0##*/}"

编辑:

这与basename $0的作用相同。它使用bash的brace扩展从$0中去掉最后一个斜杠和前面的所有内容。


basename $0将为您提供脚本名