在 bash 中,与在 ruby 中一样,程序名称由 $0 给出。鱼里面是什么?如果必须,我可以执行以下操作:
set PROGRAM (ps --no-header -o args -p %self | egrep -o '\S+')[2]
但我确信程序名称必须已经在某处可用。我也可以在每个程序的存根中设置程序名称,但这存在维护问题。
要获得与您的命令相同的结果,它是您要查找的脚本文件名。
此信息未存储在变量中,但您可以通过查询status
.
basename (status -f) # The name of the file
status -f # The full path of the file
更多信息: http: //fishshell.com/docs/2.0/commands.html#status
用于fish
程序$_
名称。