如何找到在那里定义了 bash 变量的文件?
假设echo命令显示
$ echo $DB_ROOT
/home/mahmood/db-4.0
Run Code Online (Sandbox Code Playgroud)
现在,我怎样才能找到在那里定义了这个变量的文件?我不得不说我没有在~/.bashrc.
小智 8
有大量的地方的地方可以被定义。
要获得完整的解释,您需要查看 下的bash联机帮助页,INVOCATION但我必须警告您,在您弄明白这一切之前,它可能会让您头疼:-)
根据 shell 的调用方式和存在的文件,它可能是以下一项或多项:
/etc/profile./etc/bash.bashrc~/.bash_profile.~/.bash_login.~/.profile.~/.bashrc.--rcfile选项指定的任何内容。BASH_ENV环境变量指定的任何内容。ENV环境变量指定的任何内容。对于它的价值,我通常确保我有一个~/.bash_profile(因为这是集合的最高优先级{~/.bash_profile, ~/.bash_login, ~/.profile}- 它只会处理它在该组中找到的第一个)。
我还确保我拥有~/.bashrc并~/.bash_profile在最后找到它。
这样,~/.bash_profile在登录 shell 中只保存我需要的东西,并~/.bashrc在每个shell 中保存我想要的东西。你只需要确保后者不包含任何“累积”命令(比如在路径的末尾添加一些东西)。
还有其他设置方法,特别是如果您使用不同的 shell 并且必须在它们之间共享配置文件,但上面的方案是我在bash-only 设置中找到的最简单的方案。
| 归档时间: |
|
| 查看次数: |
207 次 |
| 最近记录: |