我写了一个小的bash脚本来启动,停止和重新启动我的java应用程序,我想让所有的用户都可以运行它。 我应该把它放在/usr/bin
来做到这一点? 这是我的脚本的正确的地方? 是不是像只安装包脚本和东西?
正确的, [/usr]/[s]bin
是供发行版创build者使用的。 本地用户脚本属于/usr/local
,特别是/usr/local/bin
。
文件系统层次结构标准
我build议把它放在/opt
。 你可以在/opt
下创build你的应用程序名称目录,然后在它下面的bin
目录中,所以你的path将如下所示:
/opt/<your_app_name>/bin
然后,在/etc/profile.d
<your_app_name>.sh
和<your_app_name>.csh
创build两个脚本,并在这些脚本中将上面的path添加到全局$PATH
variables,以使所有用户都可以使用您的应用程序的可执行文件。 就这样。
我认为这种方法更清洁,然后把它放在/usr/local/bin
因为你对系统的所有更改都被本地化为一个目录(除了/etc/profile.d
的两个脚本之外),很容易删除你的应用程序手动,你的文件不与其他应用程序的文件(这可能是/usr/local
的情况下)混合。 这种方法也符合“文件系统层次结构标准” 。
当然,没有什么能阻止你将脚本放在/ usr / bin中,赋予它全局执行权限(类似于chmod 755
)并允许用户运行它。 如果您想要符合“UNIX方式”,则有更合适的位置。 我确信我会开始评论为什么这是错误的,但我会学习将其存储在/usr/local/bin/
。 /usr/local
目录通常用于不直接由分发pipe理的软件,如第三方应用程序或脚本。