根据 XDG basedir 规范,将个人脚本放在哪里?

根据 XDG basedir 规范,将个人脚本放在哪里?

我的电脑上有很多自己编写的脚本。我想根据 XDG Basedir 规范将它们放在我的 homedir 中的正确位置。但我也想以清晰且可扩展的方式备份这些脚本。

XDG Basedir 规范提到以下内容:

用户特定的可执行文件可以存储在 $HOME/.local/bin 中。发行版应确保此目录显示在 UNIX $PATH 环境变量中的适当位置。

所以我会把我的脚本放在$HOME/.local/bin.但此目录还填充了通过包管理器(例如 python pip)安装的其他脚本。因此,仅备份我的脚本并不重要(既不使用 git 存储库,也不明确将它们复制到远程位置)。

我目前已将脚本放入 的子文件夹中$HOME/.local/bin,但$PATH不会递归地查看目录,因此我必须显式地将子文件夹添加到我的 中$PATH,这似乎也有些不必要。

是否有其他位置可以放置我的脚本?或者我应该以不同的方式处理这个问题?

答案1

我处理这个问题的方法是将我的脚本保存在单独的项目目录中,例如最基本的东西就像~/scripts.该目录是一个 git 存储库,因此我可以记录更改,并根据需要将其推送到其他地方。然后,我创建指向我需要的脚本的符号链接~/.local/bin

答案2

标题中问题的答案是“XDG 基本目录规范没有说明”。正文中问题的答案是“您可以自由地做适合您的事情”。

我对 XDG 基本目录规范的理解是,它是针对 Linux 程序员和 Linux 发行版的开发人员/维护人员的,而不是针对用户的。重点是确保最终用户获得更好的体验,而不是向最终用户指示他们的主目录必须发生什么。

我跳过了几个环节来确保我安装的程序符合规范:环境变量、别名、配置文件等拱门维基在这一努力中非常有用。但是我编写的所有脚本以及我从这里和 github/gitlab 获取的大多数小型单文件实用程序都进入了~/bin.

相关内容