在 Debian 上,所有用户都可以执行的 bash 脚本存储在哪儿?

在 Debian 上,所有用户都可以执行的 bash 脚本存储在哪儿?

我的服务器上有许多 bash 脚本,所有用户都可以使用。

但似乎位置

/usr/local/sbin

不是最好的地方。

我不想使用用户的主目录,因为每个人都可能执行它们。

在 Debian 上是否有关于将它们存储在哪里的惯例?

答案1

本地可执行文件的“官方”位置是/usr/local/bin。默认情况下,此目录通常位于所有用户的 $PATH 中。传统上,未通过包管理器(例如apt)安装的程序存储在/usr/local/bin目录中,而由包管理器安装的程序存储在 中/usr/bin。请参阅这里了解更多信息这里了解官方定义以及您所需的更多细节。

不过,这些只是惯例,您可以自由使用自己的目录。例如,要存储可由所有用户执行的脚本,/usr/local/scripts您需要遵循以下步骤:

  1. 创建目录(我假设您已经sudo配置好了,如果没有,只需切换到rootsu并允许执行:

    sudo mkdir /usr/local/scripts
    sudo chmod 755 /usr/local/scripts
    
  2. 将此目录添加到所有用户的 $PATH(假设每个人都在使用 bash)。将此行添加到/etc/profile

    export PATH=$PATH:/usr/local/scripts
    

一个更好的方法(如@Michał Šrajer在评论中指出)将适用于大多数 shell(至少是使用pam_env模块将在 中设置 $PATH /etc/environment。例如:

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/scripts"

相关内容