如何还原.bashrc文件?


27

终端在打开时会显示以下内容:

bash: /home/atlas/.bashrc: line 73: syntax error near unexpected token `['
bash: /home/atlas/.bashrc: line 73: `if [ -x /usr/bin/dircolors ] ; then '

我尝试使用以下方法修复它:

cp /ect/skel/.bashrc ~/

我得到这个:

cp: cannot stat `/ect/skel/.bashrc': No such file or directory

我不确定为什么要这样做以及如何解决它。我以前曾在.bashrc文件中乱七八糟,显然我已经弄乱了一些东西。我要做的就是将.bashrc文件还原为默认设置。

Answers:


49

我想你弄错了路径-这是etc不是ect

在Ubuntu中,目录中有该文件的默认版本,因此,如果遇到问题,可以将其还原。 .bashrc/etc/skel/

为此,请执行以下步骤:

  1. 备份当前.bashrc文件:

    cp ~/.bashrc ~/.bashrc.bak
  2. 将框架.bashrc文件复制到您的框架文件中:

    cp /etc/skel/.bashrc ~/
  3. 然后,加载新的:

    source ~/.bashrc

3
该答案应标记为正确。
llt


0

您不一定需要重新创建它,只需查看错误消息告诉您的内容。就是说您的文件中存在语法错误。有了您所拥有的,我会说在关键位置这是不正确的。

代替

if [ -x /usr/bin/dircolors ] ; then

它应该是

if [ -x /usr/bin/dircolors ]; then

请注意]和之间缺少空格;

另外,作为参考,下面是整个if块:

# enable color support of ls and also add handy aliases
if [ -x /usr/bin/dircolors ]; then
    test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
alias ls='ls --color=auto'
    alias ls='ls --color=auto'
    #alias dir='dir --color=auto'
    #alias vdir='vdir --color=auto'

    alias grep='grep --color=auto'
    alias fgrep='fgrep --color=auto'
    alias egrep='egrep --color=auto'
fi

该空间实际上并不重要。该命令if [ -x /usr/bin/dircolors ] ; then echo yay; fi的输出yay为我)注之间的空间];
Malte Skoruppa 2014年
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.