比方說,我正在寫一個程序,我希望它遵循XDG基本目錄規範的地方把它的文件(應用程序foo
使用$XDG_CONFIG_HOME/foo
作爲配置文件的目錄,如果XDG_CONFIG_HOME
設置和非空,或~/.config/foo
或者如果主目錄甚至無法解析,則會出現錯誤)。程序應該創建XDG文件夾嗎?
是否存在正確/指定的行爲,例如XDG_CONFIG_HOME
已設置且非空白,但該目錄不存在?或者沒有這樣的變數,並且~/.config
不存在?預計我的程序會嘗試創建它嗎?或者是該文件夾不存在被認爲是環境/系統部分的錯誤,並且我的程序應該避免做任何事情(只保留一個錯誤)?
注意:我不是在問我是否應該創建~/.config/foo
--顯然這是肯定的;我問我是否應該創建~/.config
本身,如果它不存在。 (更加迂腐:顯然有些程序應該創建它們 - 問題是它是否完全是系統/桌面/用戶的工作,或者如果任何程序嘗試創建相關文件夾(如果它們不存在) ?)
我試過閱讀XDG Base Directory Specification,其中說當試圖編寫它的文件時,程序可能會創建必需的目錄,但是目前還不清楚這是否僅指應用程序的特定/「個人」子目錄XDG基本文件夾,或者這是爲了XDG基本文件夾本身。
P.S.通常我對使用什麼標籤有一個好的想法,但在這裏我非常不確定:請編輯這篇文章或者提出改進建議以給它適當的標籤。