我在 MacOS 上使用 Fish shell(版本 3.3.1)。每次我运行命令时,它都会多次显示此错误:
error: Unable to open universal variable file '/': Permission denied
Run Code Online (Sandbox Code Playgroud)
命令仍然可以完美运行,但是看到这些错误非常烦人。即使在发出命令后,它们仍然在屏幕上clear
。
Fish 有一个功能,它将所谓的“通用”变量存储到磁盘上的文件中,这样它们就可以轻松地在打开的 Fish 之间保存和共享。
这个错误:
错误:无法打开通用变量文件“/”:权限被拒绝
显示fish 正在尝试打开文件系统根目录“/”处的文件。这表明配置错误,因为根据定义,“/”不是文件。这是一个目录。
该文件应该位于 config 目录中,该目录位于:
我找不到重现此问题的特定序列,但似乎 $XDG_CONFIG_HOME 或 $HOME 在 Fish 启动时设置(通过其父进程,可能是终端),并且设置为非功能值。