我目前正在探索和试验我的 Linux,只是为了娱乐和教育目的。
我已经删除了其中的内容,/etc/bash.bashrc
并且/etc/profile
在根目录和本地用户的主目录中都没有任何配置,我还执行了重新启动。
但是当我运行printenv PATH
路径的值仍然存在:
$PATH=usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/usr/games
什么可能定义$PATH?
编辑:
我忘了说我正在使用 Kali linux。
我发现罪魁祸首之一是/etc/profile.d/kali.sh
一个名叫 Flyingdrifter 的人在该帖子的评论部分提到的 ->
bash 中 PATH 变量设置位置的完整视图
(尽管他的发行版是 LinuxMint)。
现在 $PATH 变量已减少为
$PATH=/usr/local/bin:/usr/bin:/bin:/usr/games
这意味着可能有最后一个文件设置 PATH 变量。
答案1
还要检查/etc/login.defs
和。/etc/environment
更多这里: bash 中 PATH 变量设置位置的完整视图
答案2
在大多数发行版上都有类似的内容(检查您的
/etc/bash.bashrc
和/etc/profile
是否有这样的代码)for file in /etc/profile.d/*.sh ; do . $file ; done
有一个名为
pam_env
(手册页),默认情况下设置/etc/environment
.