我编写了一个小型 bash 脚本,用于启动、停止和重新启动 Java 应用程序,我想让所有用户都可以运行它。我应该把它放进去执行这个操作吗/usr/bin
?这是我的脚本的正确位置吗?它不是只用于安装包脚本之类的东西吗?
答案1
正确,[/usr]/[s]bin
是供发行版创建者使用的。本地用户脚本属于/usr/local
,具体/usr/local/bin
在本例中。
答案2
我建议将其放入/opt
。您可以在其下创建以应用程序名称命名的目录/opt
,然后bin
在其下创建目录,因此您的路径将如下所示:
/opt/<your_app_name>/bin
/etc/profile.d
然后,在-<your_app_name>.sh
和-中创建两个脚本,<your_app_name>.csh
并在这些脚本中将上述路径添加到全局$PATH
变量,以使所有用户都可以使用应用程序的可执行文件。就这样。
我认为这种方法比将其放入更干净,/usr/local/bin
因为您对系统的所有更改都局限于一个目录(中的两个脚本除外/etc/profile.d
),因此很容易手动删除您的应用程序,并且您的文件不会与其他应用程序的文件混合(这可能是这种情况/usr/local
)。这种方法也符合“文件系统层次标准”。
答案3
当然,没有什么可以阻止您将脚本放在 /usr/bin 中,为其提供全局执行权限(类似于chmod 755
)并允许用户运行它。如果您想遵循“UNIX 方式”,那么还有更合适的位置。我肯定会开始评论为什么这是错误的,但我会学习将其存储在/usr/local/bin/
。该/usr/local
目录通常用于不由发行版直接管理的软件,例如第三方应用程序或脚本。