Fish Shell:“错误:无法打开通用变量文件‘/’:权限被拒绝”

Ama*_*war 4 fish

我在 MacOS 上使用 Fish shell(版本 3.3.1)。每次我运行命令时,它都会多次显示此错误:

error: Unable to open universal variable file '/': Permission denied
Run Code Online (Sandbox Code Playgroud)

命令仍然可以完美运行,但是看到这些错误非常烦人。即使在发出命令后,它们仍然在屏幕上clear

fah*_*aho 5

Fish 有一个功能,它将所谓的“通用”变量存储到磁盘上的文件中,这样它们就可以轻松地在打开的 Fish 之间保存和共享。

这个错误:

错误:无法打开通用变量文件“/”:权限被拒绝

显示fish 正在尝试打开文件系统根目录“/”处的文件。这表明配置错误,因为根据定义,“/”不是文件。这是一个目录。

该文件应该位于 config 目录中,该目录位于:

  • $XDG_CONFIG_HOME/fish,如果设置了该变量
  • $HOME/.config/fish,如果不是

我找不到重现此问题的特定序列,但似乎 $XDG_CONFIG_HOME 或 $HOME 在 Fish 启动时设置(通过其父进程,可能是终端),并且设置为非功能值。