我编写了一个由多个 bash 脚本组成的基本命令行应用程序。其中之一旨在由计算机的任何用户运行,因此我了解其正确位置是/usr/local/bin/
.
其他脚本不应由用户直接运行,而只能由第一个脚本调用。安全性在这里不是问题,我不介意用户是否费心找到他们的确切路径并从那里执行它们,但我不希望它们位于意味着可以从任何地方调用它们的路径中。
目前我已经把它们全部放进去了,/usr/sbin/my_app_name/
但我知道我不应该把东西放在那里。但我应该把这样的脚本放在哪里呢?理想情况下,我只想将my_app_name
包含脚本的文件夹移动到正确的位置。
答案1
长话短说:将支持文件放在 中/usr/local/lib/my_app_name
,将主脚本放在/usr/local/bin
.
当然,你会得到很多关于放置东西的不同位置的建议,因为这种东西没有太多标准化。我更喜欢将这种类型的文件放入/usr/local/my_app_name/
或中/opt/local/my_app_name
,具体取决于您在系统上安装其他用户程序的位置。主程序应该在/usr/local/bin
或中/opt/local/bin
。如果辅助脚本不打算单独运行,它们可能不应该与主脚本位于同一位置。但是,如果子公司本身就是完整的模块/库,则可以由其他程序,那么像这样的位置/usr/local/lib
可能是合适的。
为了将来参考,请查看文件系统层次结构标准。的建议/usr/local
和/opt
(我/opt/local
从 OSX得到Mac端口)是相似的,尽管似乎/opt
更多的是您可能从供应商那里获得的外部软件包 - 例如,英特尔的数学内核库默认情况下自行安装在/opt/intel/mkl
.