gpt4 book ai didi

macos - 我应该在哪里放置 bash 脚本的模板文件夹?

转载 作者:行者123 更新时间:2023-12-04 14:34:56 25 4
gpt4 key购买 nike

我在 OS-X(Mavericks,如果重要的话)上,我正在制作一个 bash 脚本,它将使用名为"template"的文件夹中的资源。我想弄清楚我应该把它放在哪里(模板文件夹)。我想这样做,这样用户在安装它时就不需要修改他们的路径,所以我不想像终端 mysql 命令那样做(它位于 /usr/local/mysql/bin)。我真的希望能够将它们放入 usr/bin,但我不知道将文件夹放在那里是否“礼貌”(我在那里没有看到任何东西)。

现在我倾向于将脚本放在 usr/bin 中,并将模板放在 usr/lib 中。这种事情通常是这样做的,还是有其他方法?假设有一个约定,我想遵循一个约定。我还希望它适用于尽可能多的 Unix 平台(我想放在 bash 脚本所在的目录中,该目录在尽可能多的 Unix 平台上保持一致)。谢谢。

最佳答案

如果您关注Filesystem Hierarchy Standard (FHS),您的可执行文件位于 /usr/local/bin,而只读模板文件位于 /usr/local/share/YOURAPP/。引用the FHS :

/usr/local/share

The requirements for the contents of this directory are the same as /usr/share. […]

and :

The /usr/share hierarchy is for all read-only architecture independent data files.

(强调)

如果系统管理员要自定义模板文件以在系统范围内生效,那么他们只需进入 /etc/YOURAPP/templates(或类似的东西)。

如果模板文件是基于每个用户定制的,那么模板的修改副本(从/usr/local/share/YOURAPP/templates复制)需要保存在用户的目录,在 $HOME/.config/YOURAPP/templates 或类似的目录下(感谢 technosaurus 的更正)。


您提到要将模板安装在与可执行文件一起的目录中。这不是 UNIX 上的标准方法,至少 FHS 是这样。如果你真的想走这条路,有一种惯例是将你的应用程序安装到 /opt/YOURAPP/,在该文件夹中使用你想要的任何组织。

在所有情况下,将可执行文件直接安装到 /usr/bin 都不是好的做法,因为该目录被认为处于操作系统/发行版的排他控制之下。如果您想在那里安装,可接受的方法是为每个受支持的操作系统/发行版的包管理器创建一个包。

关于macos - 我应该在哪里放置 bash 脚本的模板文件夹?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23701262/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com