¿Cómo restaurar el archivo .bashrc?

27

El terminal muestra esto cuando se abre:

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

He tratado de arreglarlo usando:

cp /ect/skel/.bashrc ~/

Y entiendo esto:

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

No estoy seguro de por qué esto está haciendo esto y cómo solucionarlo. Anteriormente había estado en el .bashrcarchivo jugando y aparentemente he estropeado algo. Todo lo que quiero hacer es restaurar el .bashrcarchivo a la configuración predeterminada.

Miranda Webb
fuente

Respuestas:

49

Creo que tienes el mal camino - es etcno ect.

En Ubuntu, hay una versión predeterminada del .bashrcarchivo en el /etc/skel/directorio, por lo que si tiene problemas, puede restaurarlo.

Para hacerlo, siga los siguientes pasos:

  1. Copia de seguridad de su .bashrcarchivo actual :

    cp ~/.bashrc ~/.bashrc.bak
  2. Copie el .bashrcarchivo esqueleto sobre el suyo:

    cp /etc/skel/.bashrc ~/
  3. Luego, cargue el nuevo:

    source ~/.bashrc
phoibos
fuente
3
Esta respuesta debe marcarse como correcta.
llt
0

No necesariamente necesita volver a crearlo, solo mire lo que le dice el mensaje de error. Está diciendo que tiene un error de sintaxis en su archivo. Con lo que tienes, diría que es incorrecto en lugares clave.

En lugar de

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

Debería ser

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

Tenga en cuenta la falta de espacio entre el ]y el ;.

Además, como referencia, aquí está todo ese bloque 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
Shauna
fuente
Ese espacio no debería importar realmente. El comando if [ -x /usr/bin/dircolors ] ; then echo yay; figenera yaypara mí;) Tenga en cuenta el espacio entre ]y ;.
Malte Skoruppa