如何显示当前 .bashrc 文件的来源?
Posted
技术标签:
【中文标题】如何显示当前 .bashrc 文件的来源?【英文标题】:How to show the source of the current .bashrc file? 【发布时间】:2013-02-08 13:24:02 【问题描述】:所以我刚刚回显到 bashrc,并删除了那里的所有内容。但是我的外壳没有关闭或重新加载,所以我的 bash 的来源是旧的。有没有办法查看我当前的 bashrc 文件的来源?
【问题讨论】:
您是想重建旧的 .bashrc,还是只刷新当前环境,就像使用新的空白 shell 启动 shell 一样? 你的 bashrc 不见了。我以前做过。您将不得不重新创建它。不要忘记保留一份备份副本。 尝试 /etc/skel 获取模板或使用 ~/.bashrc~ 获取以前的备份,然后使用env
和 alias
尝试找出可能缺少的内容以及下次使用 @987654323 @ 到文件末尾
【参考方案1】:
您可以使用 bash 命令 set
(不带参数,它会转储当前环境变量和函数)和 alias
(类似地,转储别名)来获得当前 bash shell 环境的相当完整的转储。这些可以帮助您重建很多旧的 .bashrc 文件。
但是,您应该记住,这些不显示旧的 .bashrc 本身,它们显示其结果。例如,如果默认系统 PATH 是 /usr/bin:/bin:/usr/sbin:/sbin
并且您的旧 .bashrc 包含
PATH="$PATH:/opt/X11/bin"
这只会显示最终结果:
PATH=/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin
如果您将其复制到新的 .bashrc 中,并且系统 PATH 得到更新(例如,包括 /usr/local/bin
),您的 .bashrc 将删除更新。
因此,您不应该只获取set
和alias
的输出并将其用作新的.bashrc。但是您可以将它们用作曾经存在的东西的提醒,也可以使用它们来避免例如必须重写任何复杂的函数,比如你定义的。
【讨论】:
【参考方案2】:不,基本上。 Bash 评估您的登录脚本的内容,但不会保留它们。您可以通过查看当前环境(使用env
命令)来重建其中的一部分,但大部分都已经消失了。 Bash 不提供高级反射。
将此视为一种学习体验,并让它激励您从现在开始进行备份并将重要配置保留在版本控制中。
【讨论】:
以上是关于如何显示当前 .bashrc 文件的来源?的主要内容,如果未能解决你的问题,请参考以下文章