Как восстановить файл .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файл с настройками по умолчанию.

Ответы:


49

Я думаю, что вы ошиблись - это etcне так ect.

В Ubuntu есть версия по умолчанию из .bashrcфайла в /etc/skel/каталоге, поэтому если у вас есть проблемы с этим вы можете восстановить его.

Для этого выполните следующие шаги:

  1. Сделайте резервную копию вашего текущего .bashrcфайла:

    cp ~/.bashrc ~/.bashrc.bak
  2. Скопируйте .bashrcфайл скелета поверх вашего:

    cp /etc/skel/.bashrc ~/
  3. После этого загрузите новый:

    source ~/.bashrc

3
этот ответ должен быть помечен как правильный.
11


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
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.