如何显示当前.bashrc文件的来源?

时间:2013-02-22 20:11:04

标签: linux bash shell recover

所以我只是回应bashrc,并删除了那里的一切。但我的shell没有关闭或重新加载,所以我的bash来源很旧。有没有办法查看我当前的bashrc文件的来源?

2 个答案:

答案 0 :(得分:2)

不,基本上。 Bash会评估您的登录脚本的内容,但不会保留它们。您可以通过查看当前环境(使用env命令)重建其中的一部分,但大部分都已消失。 Bash不提供高级反思。

将此视为一种学习体验,让它激励您从现在开始进行备份并在版本控制中保持重要配置。

答案 1 :(得分:2)

您可以使用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将删除更新。

因此,您不应该只获取setalias的输出并将其用作新的.bashrc。但是你可以使用它们作为过去那里的提醒,并使用它们来避免例如必须重写任何复杂的函数,例如你已定义的。