假设我正在编写一个程序,并且我希望它遵循 XDG 基本目录规范来放置其文件(应用程序foo
用作$XDG_CONFIG_HOME/foo
配置文件的目录,如果XDG_CONFIG_HOME
设置为非空白,或~/.config/foo
,或失败并出现错误如果主目录甚至无法解析)。
XDG_CONFIG_HOME
对于例如设置且非空白但该目录不存在的情况是否存在正确/指定的行为?或者如果没有这样的变量,并且~/.config
不存在?是否期望我的程序尝试创建它?或者该目录的不存在是否被认为是环境/系统部分的错误,我的程序应该避免对此做任何事情(只是保释错误)?
注意:我不是在问我是否应该创建~/.config/foo
- 显然这是肯定的;我在问我是否应该创建~/.config
自己,如果它不存在。
(更迂腐:显然一些程序应该创建它们 - 问题是这样做是否仅仅是系统/桌面/用户的工作,或者是否有任何程序应该尝试创建相关目录,如果它们不存在?)
我试过阅读XDG Base Directory Specification,它说在尝试写入文件时,程序可能会创建必要的目录,但不清楚这是否仅指应用程序的特定/“个人”子目录XDG 基本目录,或者如果这意味着 XDG 基本目录本身。
PS 通常我很清楚要使用什么标签,但在这里我真的不确定:请编辑这篇文章或提出改进建议,给它适当的标签。