10

在 bash 中,与在 ruby​​ 中一样,程序名称由 $0 给出。鱼里面是什么?如果必须,我可以执行以下操作:

set PROGRAM (ps --no-header -o args -p %self | egrep -o '\S+')[2]

但我确信程序名称必须已经在某处可用。我也可以在每个程序的存根中设置程序名称,但这存在维护问题。

4

3 回答 3

19

要获得与您的命令相同的结果,它是您要查找的脚本文件名。

此信息未存储在变量中,但您可以通过查询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

于 2013-06-24T05:55:32.590 回答
4

用于fish程序$_名称。

于 2013-06-07T03:54:59.707 回答
4

fish 3.x

status current-command

请参阅文档的弃用部分。3.0

fish 2.x

用于$_程序名称。

请参阅文档的可编程标题部分2.0

于 2019-01-08T11:35:38.670 回答