从运行会话重新构build.bashrc

我不小心删除了我的.bashrc。 我仍然有terminal运行。 我可以恢复哪些设置?

我已经有别名(来自alias命令)。 我假设所有的if和case都不见了,但是我想检索这些variables。 我怎样才能做到这一点? (除了必须input)。 还有什么我可以恢复?

如果你有一个默认的.bashrc文件没有你自己的调整,你可以从skel目录中恢复原始文件:

 cp /etc/skel/.bashrc ~/ 

skel目录具有(或应该具有)新用户的默认设置。 当创build用户时,skel dir的内容被复制到新的用户主页

添加了如何检查用户的bashrc文件中不在默认的bashrc文件中的说明

如果你有一个调整的.bashrc文件,并且由于env将转储所有可能从几个文件(/ etc / bashrc,/ etc / profile,.profile,….)进行的会话设置(很多东西)。 你需要从自己的 bashrc中产生与默认的bashrc不同的东西,并且放弃其他bash源文件生成的所有东西:

根据silviud发布的“env”答案,只要您仍然打开旧的terminal,您可以将env输出保存到文件中。 然后打开一个新的shell,并将旧的env与新的env进行比较,从而显示你的.bashrc生成的内容。

例如,在您的旧terminal中将env转储到一个文件中:

 env > oldenv 

在一个新的shell中,现在改变.bashrc是默认的:

 comm -3 <(env) oldenv 

编辑从skel目录中获得的.bashrc以添加你从上述命令获得的差异。

HTH

 shell$ env # will tell you all the settings you have into that terminal # the alias is handy as well for all the aliases you have 

这发生在我身上,真可怕! 我运行“env”来获取所有的环境variables,并且命令“别名”将打印所有不在您的环境中的别名。

所以运行:

 env 

 alias 

并将它们复制到bashrc框架文件中。

现在快速把你的.bashrc放到git中:

 cd ~ git init git add .bashrc git commit -m "added .bashrc"