XDG_DATA_DIRS env变量在fish shell中使用两种分隔符类型

XDG_DATA_DIRS env变量在fish shell中使用两种分隔符类型

进行操作系统升级(opensuse Leap 15.2 -> 15.3)后,我的 XDG 设置崩溃了。除此之外,我的XDG_DATA_DIR环境变量使用两个不同的值分隔符::

当前 XDG_DATA_DIRS 值:

/home/bernard/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share:/var/lib/snapd/desktop /var/lib/snapd/desktop

在查找填充此变量的代码时,我遇到了 中的脚本/etc/profile.d/,但从调试该snapd.sh脚本来看,它似乎并没有导致缺陷。我修改snapd.sh并将变量打印到/tmp/var脚本开始和脚本结束处。通过观察结果,看起来这个脚本没有改变XDG_DATA_DIRS.

快照版本:2.54.1

鱼版:3.3.1

答案1

我不知道这个点:我想你必须深入研究哪个进程添加了它。

不过,最后一个由空格分隔的目录元素很能说明问题。看来您正在向 Fish 中的 XDG_DATA_DIRS 添加一个目录,并期望子进程获得以冒号分隔的值。 Fish 仅自动执行此操作路径变量

在您的 Fish 配置中,在对该变量进行任何操作之前尝试以下操作:

set --path -x XDG_DATA_DIRS $XDG_DATA_DIRS

相关内容