什么可能定义 $PATH 变量?

什么可能定义 $PATH 变量?

我目前正在探索和试验我的 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

  1. 在大多数发行版上都有类似的内容(检查您的/etc/bash.bashrc/etc/profile是否有这样的代码)

    for file in /etc/profile.d/*.sh ; do . $file ; done
    
  2. 有一个名为pam_env(手册页),默认情况下设置/etc/environment.

相关内容