我的服务器上有许多 bash 脚本,所有用户都可以使用。
但似乎位置
/usr/local/sbin
Run Code Online (Sandbox Code Playgroud)
不是最好的地方。
我不想使用用户的主目录,因为每个人都可能执行它们。
是否有关于将它们存储在 Debian 上的约定?
本地可执行文件的“官方”位置是/usr/local/bin
. 默认情况下,此目录通常位于所有用户的 $PATH 中。传统上,未通过包管理器安装的程序(例如apt
)存储在/usr/local/bin
目录中,而由包管理器安装的程序则存储在/usr/bin
. 请参阅此处了解更多信息,此处了解官方定义和比您需要的更多详细信息。
这些只是约定,您可以自由使用自己的目录。例如,要存储可由所有用户执行的脚本,您需要执行/usr/local/scripts
以下步骤:
创建目录(我假设您已经sudo
配置,如果不只是切换到root
with su
)并允许执行:
sudo mkdir /usr/local/scripts
sudo chmod 755 /usr/local/scripts
Run Code Online (Sandbox Code Playgroud)将此目录添加到所有用户的 $PATHs(假设每个人都在使用 bash)。将此行添加到/etc/profile
:
export PATH=$PATH:/usr/local/scripts
Run Code Online (Sandbox Code Playgroud)一种更好的方法(如@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"
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
11644 次 |
最近记录: |