我可以将脚本放在/ usr / bin中吗?

我写了一个小的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添加到全局$PATHvariables,以使所有用户都可以使用您的应用程序的可执行文件。 就这样。

我认为这种方法更清洁,然后把它放在/usr/local/bin因为你对系统的所有更改都被本地化为一个目录(除了/etc/profile.d的两个脚本之外),很容易删除你的应用程序手动,你的文件不与其他应用程序的文件(这可能是/usr/local的情况下)混合。 这种方法也符合“文件系统层次结构标准” 。

当然,没有什么能阻止你将脚本放在/ usr / bin中,赋予它全局执行权限(类似于chmod 755 )并允许用户运行它。 如果您想要符合“UNIX方式”,则有更合适的位置。 我确信我会开始评论为什么这是错误的,但我会学习将其存储在/usr/local/bin//usr/local目录通常用于不直接由分发pipe理的软件,如第三方应用程序或脚本。