我有一个带有 Linux 中 bash shell 的 xterm。当我 时echo $PATH
,它显示一个目录,我想知道是谁把这个目录放在 中PATH
。我该如何查找?
谢谢!
答案1
假设您的登录 shell 是 bash,您可以开始查看以下文件:/etc/profile
、~/.bashrc
和~/.bash_profile
。如果您从另一个 shell 调用 bash,那么您可能需要检查另一个 shell 设置了哪些变量。
答案2
您可能无法发现是谁,但您可以找出哪个文件正在设置该变量。查看 Bash 文档以查找启动文件。Bash 在启动时处理多个文件以设置 $PATH 和其他环境变量。
http://www.gnu.org/software/bash/manual/html_node/Bash-Startup-Files.html#Bash-Startup-Files
答案3
该答案假设您的登录shell是bash。
我使用一个别名来模拟登录 shell 的打开并将详细日志输出到 stdout。
根据您配置点文件的方式,您可能需要选择除之外的其他内容~/.bashrc
,但是,就我的目的而言,这是可行的,因为~/.bashrc
这是我获取所有各种配置文件和导出文件的地方。
alias simlogin='PS4='\''+~/.bashrc> '\'' BASH_XTRACEFD=7 bash -xl 7>&2'
笔记运行此命令后,当前 shell 将在每个后续提示和命令上输出跟踪,因此您可能希望在找到所需内容后退出 shell。
这里有一个很好的答案通过将调试日志输出重定向到文件(或其他位置)可以帮助您改善调试体验。
答案4
您还可以查看文件 /etc/environment