为什么 root 路径中没有 /usr/local ?

spu*_*der 22 root path

我注意到我的虚拟机和服务器上 root 的默认路径不包括 /usr/local/bin

sudo -s  
echo $PATH
/sbin:/bin:/usr/sbin:/usr/bin
Run Code Online (Sandbox Code Playgroud)

而服务器上的普通用户确实有 /usr/local/bin

/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/sowen/bin
Run Code Online (Sandbox Code Playgroud)

为什么 root 在路径中不需要 /usr/local ?

用户定义的默认路径在哪里?

von*_*and 22

因为它没有在root的相关shell启动文件中设置。

传统上,/usr/local已用于非官方的、本地安装的软件(通常覆盖有缺陷/损坏/有限的“官方”版本;一位朋友打趣说,当新的 Sun 到来时,第一步是GNU > /usr/local)。就像root万能的一样,它运行的程序中的任何错误或设计错误都可能是致命的。按理运行例如本地、实验版本的makeroot 应该谨慎对待。最好多走一步,给出明确的路径。