MacOS下Fish shell运行命令频繁提示无法打开通用变量文件'/'权限被拒绝
问题复现
macOS系统运行3.3.1版本Fish shell时,每次执行命令都会多次弹出如下报错:
error: Unable to open universal variable file '/': Permission denied命令本身可正常执行,但报错会影响使用体验,执行
clear命令后报错信息仍会残留在屏幕上。
故障原因
该问题属于Fish 3.3.1版本的已知内置bug:通用变量存储路径配置错误,错误将根目录/识别为通用变量的存储路径,触发读写操作时无权限就会抛出报错,且报错会输出到标准错误流,不会被clear命令正常清理。
修复方法
- 首先执行命令确认配置异常:
echo $fish_universal_variables_path,如果返回结果为/即可确认是该配置错误导致的问题 - 临时生效修复:当前Fish会话内执行
set -U fish_universal_variables_path ~/.config/fish/fish_variables,执行后立刻停止报错 - 永久生效修复:
- 打开Fish配置文件
~/.config/fish/config.fish,排查是否有手动设置fish_universal_variables_path的错误行,找到后删除该行 - 重新执行一次上述
set -U命令,重启Fish后配置永久生效
- 打开Fish配置文件
- 可选方案:将Fish shell升级到3.4.0及以上版本,该版本已官方修复这个bug,无需手动调整配置
内容的提问来源于stack exchange,提问作者Aman panwar
相关产品推荐
相关产品推荐

