我正在开发一个小型 bash 脚本 Y,它计算给定 bash 脚本 X 的行数、字符和文件大小,并将当天第一次运行的结果存储在某个位置。
当 bash 脚本 X 运行额外次数时,它应该将存储的值与新的值检索进行比较,输出更改的内容以及百分比。例如,“文件大小:-12%”表示 bash 脚本 X 自当天第一次运行以来文件大小减小了 12%。
因此,第一次运行的存储数据是相当短暂的,但应该在重新启动后仍然存在。它的保质期应该是 1 天。因此,重新启动或关闭不应终止存储数据的生命周期,但一旦 24 小时过去,下一次运行的 bash 脚本 Y 应该会用新数据覆盖 bash 脚本 X 的旧数据。 bash 脚本 X.
根据 Linux 文件层次结构或文件系统层次标准 (FHS),放置这种特定类型数据的最佳位置是什么?
你看:上述数据是半短暂的;如果它完全是短暂的,它将被撤消,并在每次重新启动或关闭时被覆盖。在这种情况下,毫无疑问 /tmp/ 将是存放脚本生成的数据的合适位置。但话说回来,更持久的情况是,它应该能够在重新启动和关闭后继续存在,但时间窗口不能超过 24 小时?在哪里可以将此类数据放置在 bash 脚本中?我假设 /var 或 /usr/local/... 可能作为基本目录,然后在其中放置一个名为“bash script Y”的自己的子目录...
如果这是属于人类用户的数据,则根据 freedesktop XDG 规范
$XDG_STATE_HOME
,正确的位置将是,默认为。$HOME/.local/state
与此类似,我会将临时守护程序数据放入
/usr/local/state
- 但这与 FHS 不兼容,这意味着您应该将此类状态放入/var/lib/<yourprogramsname>
.