如何获取鱼脚本本身的路径

How to get the path of a fish script within itself

在bash中,我们可以用[=11=]获取脚本的路径。根据官方文档,我们似乎可以通过 $_ 在 fish 脚本中做到这一点。

但是,如果我尝试编写这样的 fish 脚本,并且 运行 它只会打印一个换行符。

#!/usr/bin/fish
echo $_

在反应性鱼中,echo $_ 将直接给出 echo,而 <command> $_ 将直接传递 "command" 作为 <command> 的参数。

我对 $_ 的奇怪行为及其用途感到困惑。

$_有点乱,但不是"path to the fish script",而是当前前台作业的名称。

要获取脚本的路径,请使用 status --current-filename(如果以交互方式启动,则为 "standard input")。