$HOME/.local/share 是 $XDG_DATA_HOME 的默认值吗?

$HOME/.local/share 是 $XDG_DATA_HOME 的默认值吗?

变量的默认值是什么$XDG_DATA_HOME?我得到一个空行:

echo $XDG_DATA_HOME

根据免费桌面 XDG 基础目录环境变量规范,它可能等于$HOME/.local/share

答案1

据报道XDG 基本目录规范环境变量未默认设置错误,Ubuntu 没有设置 XDG 变量。

根据FreeDesktop 基本目录规范

$XDG_DATA_HOME 定义应存储用户特定数据文件的基本目录。如果 $XDG_DATA_HOME 未设置或为空,则应使用默认值 $HOME/.local/share。

实现此规范的应用程序必须实现此行为,因此如果$XDG_DATA_HOME未定义,则必须使用$HOME/.local/share默认值。

该规范有一些实现,例如:油嘴滑舌libghc-xdg-basedir-prof韓國

如果要覆盖此值,则应在中定义变量,或者按照中所述更好地定义XDG变量/etc/profile/etc/profile.dXDG_CONFIG_HOME 变量应该在哪里定义?

答案2

如果尚未设置,您可以按照以下方式进行设置~/.profile

export XDG_DATA_HOME=${XDG_DATA_HOME:="$HOME/.local/share"}

这将保留已设置的任何值,否则将其设置为XDG 基础目录规范

相关内容