我正在制作一个读取/写入 ~/.config 文件夹中文件的应用程序;但是,我想确保它在所有系统下都能正常工作。.config
不同的系统语言有不同的名称吗?有没有比使用硬编码字符串更好的方法来访问它的值.config
?(例如环境变量)
最佳做法是什么?如果没有既定的最佳做法,那么最简单的方法是什么,可以保证获得所需的结果?
答案1
该配置目录由XDG 基础目录规范标准。
你的问题的答案在环境变量部分:
$XDG_CONFIG_HOME
定义应存储用户特定配置文件的相对基础目录。如果未设置或为空,则应使用$XDG_CONFIG_HOME
默认值。$HOME/.config
请务必阅读基本,以确保您对正确的文件使用了正确的目录。
您可能还想知道当$HOME
未设置时该怎么做。XDG 没有指定这一点,但是有些应用程序会抛出错误并退出。或者,您可以通过获取当前用户 IDgetuid(2)
并使用getpwuid(3)
它提取主目录。
答案2
这是XDG 基础目录规范:
$XDG_CONFIG_HOME 定义应存储用户特定配置文件的相对基础目录。如果 $XDG_CONFIG_HOME 未设置或为空,则应使用默认值 $HOME/.config。