如何还原默认的bashrc?


9

我不小心覆盖了.bashrc。我做了以下

echo 'export EDITOR=/usr/bin/nano' >> /etc/bashrc

Bur I不小心输入>而不是>>。我想这是个坏主意。

我仍然可以使用此技巧登录(Ctrl+C在.bashrc完全执行之前命中)。但是,如何将其还原为默认值.bashrc

我正在运行CentOS 6.5 x86_64。如果默认的bashrc文件在某个发行版中某个位置,我找不到它。

Answers:


13

将损坏的文件移开,然后重新安装提供损坏文件的软件包。

mv /etc/bashrc /etc/bashrc.damaged
yum reinstall $(rpm -qf /etc/bashrc)

谢谢!请在(rm /etc/bashrc)之前添加以删除损坏的文件,并在(source ~/.bash_profile)之后重新启动bash
Nickolai Leschov 2014年

9

您是否.bashrc在用户目录中覆盖了?或者像这样.bashrc存储在/etc/skel/? You can always copy the default.bashrc from/ etc / skel /`中的系统范围内:

cp /etc/skel/.bashrc ~/.bashrc

编辑:在原始海报下面的评论中指出:

当我应该写>>时,我确实做了echo export EDITOR = / usr / bin / nano> / etc / bashrc

好的,这可以解释出了什么问题。但是总的来说,任何建议使用>>串联来调整Linux / Unix系统文件的人都应该永远受到公众的羞辱。问题恰恰是您遇到的问题。>>所做的全部工作就是将内容追加到>>的右上方>>。看起来很流畅而且很快速,但是以我的拙见,您只需在编辑器中打开文件,然后将需要添加的内容添加到文件末尾,就会更加安全。只是这样做:

sudo nano /etc/bashrc

添加您需要添加到该文件的所有内容,保存并继续。


1
补充:我echo 'export EDITOR=/usr/bin/nano' > /etc/bashrc在应该写的时候就做了>>。我已经用从中的文件替换了该文件/etc/skel/,但是我不断收到“已关闭与1.2.3.4的连接”的信息。我猜其中的文件/etc/skel/是“真实”模板.bashrc,而不是适当配置文件的实例。也许.bashrc应该包含一个无休止的循环之类的东西?我只能通过Ctl+Cssh从计算机发出命令和将其踢出我的时间之间进行命中来登录。顺便说一句,在我的系统上/etc/bashrc没有时间
Nickolai Leschov 2014年

啊,好的。有关>>我的一些一般建议已编入我的答案。
JakeGould 2014年


0

3条命令行来还原bashrc!您给我们一个非常有用的答案,尤其是对于像我这样的linux初学者来说,我成功地应用了它,

mv /etc/bashrc /etc/bashrc.damaged
yum reinstall $(rpm -qf /etc/bashrc)
source ~/.bash_profile

谢谢大家


0

运行(不需要root)

dnf download $(rpm -qf /etc/bashrc)

rpm软件包下载到当前目录中。然后解压缩该软件包并将文件移至其所属的位置。这样,您无需重新安装任何软件包。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.