在哪里放置只能由另一个脚本调用的脚本?

在哪里放置只能由另一个脚本调用的脚本?

我编写了一个由多个 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.

相关内容