是否有放置自定义 Linux 脚本的标准位置?

vfc*_*sts 98 scripts directory

我正在开发一组脚本,我希望在设置服务器时为所有用户提供这些脚本。但我不希望他们像标准的位置/usr[/local]/[bin][sbin]等等。

是否有一些现有的约定用于放置此类脚本的位置?

小智 64

据我所知,没有自定义 Linux 脚本的地方。应该用于自定义安装的/opt目录是目录,因此将它们放在那里是最安全的选择。但请记住,要在没有完整路径的情况下使用脚本,您需要将其包含在 PATH 变量中。

如果您需要帮助更改PATH所有用户的变量,您可以检查如何为服务器上的所有用户设置 PATH 变量?它指的是您/etc/environment要配置此文件的文件。

如果您关心的是避免冲突,但又不想向 PATH 变量添加另一条路由,则可以使用/usr/local/bin. 在我的服务器安装中,它没有任何文件,因此它可以是一个简单的解决方法。

希望能帮助到你


小智 45

/usr/local/bin 似乎是传统的地方,这个目录在全新安装时应该是空的。

来源:关于这个问题的公认答案

  • 一旦你停止区分二进制可执行文件和脚本,你的疑惑就会立即得到解决:) (9认同)
  • 这总是让我失望 - 脚本(即非二进制文件)会进入`bin`吗?`等`?`选择`?叹。 (6认同)

BuZ*_*dEE 13

您可以将脚本/opt/bin放入并将位置添加到PATH

看:

  1. Linux路径环境变量

  2. 将目录永久添加到 shell PATH

    在全球范围内使用:

    /etc/bash.bashrc
    
    Run Code Online (Sandbox Code Playgroud)

    或者

    /etc/profile
    
    Run Code Online (Sandbox Code Playgroud)

  • 在 Ubuntu 16.04 中不再有 `/opt/bin` 目录,所以你必须先创建它。在这种情况下,您不妨创建 `/usr/local/scripts` 并将其放在 $PATH 中。 (2认同)

Cha*_*Rex 7

还有~/bin,其作用类似于/usr/local/bin,但仅适用于一个用户。要启用它,请创建~/bin目录,注销并重新登录。

  • 如果脚本/可执行文件仅适用于一个用户,那么 `~/.local/bin` 是一个好地方,如[此处](https://unix.stackexchange.com/questions/36871/where-should-a-本地可执行文件放置)。 (3认同)

Mar*_*ppi 6

有几个地方可以放置这些,通常我将它们放入/opt/并为每个用户(或全局/etc/bash.bashrc)更新 PATH 以便用户可以使用它。/opt/或多或少是为您想要做的事情而设计的。