Restaurar ~ / .bashrc sin usar comandos bash

Aug 21 2020

Creo que tuve un error tipográfico cuando agregué una ruta ~/.bashrcy después de obtenerla, ya no puedo usar los comandos bash.

Ahora quiero restaurar un estado normal ~/.bashrc, sin embargo, la mayor parte de la discusión que encontré (por ejemplo, ¿Cómo arreglar un .bashrc que se ha editado incorrectamente? ) Necesita usar comandos de bash, por ejemplo.cp

clam@cuerei:~# cp /etc/skel/.bashrc ~
cp: /home/cltam/script/lib/libc.so.6: version `GLIBC_2.17' not found (required by cp)

¿Puedo saber cómo puedo restaurar ~/.bashrcsin usar comandos de bash?

Gracias.

Respuestas

25 user1686 Aug 21 2020 at 16:35

cpno es un comando bash, es un programa externo. Por eso falla; Los comandos bash reales no se verían afectados por cambios en la biblioteca o en la ruta. Entonces quieres lo contrario, es decir, usar solo comandos bash.

Puede eliminar el contenido del archivo por completo, usando:

true > ~/.bashrc

O sobrescribir con algún otro contenido:

echo "" > ~/.bashrc

O puede intentar deshacer temporalmente los cambios incorrectos dentro del shell en vivo:

unset LD_LIBRARY_PATH LD_PRELOAD LD_AUDIT
export PATH=/bin:/usr/bin
cp /etc/skel/.bashrc ~

O puede copiar el contenido del archivo, línea por línea, usando solo elementos integrados de shell:

while IFS="" read -r line; do
    echo "$line";
done < /etc/skel/.bashrc > ~/.bashrc
1 NuclearFission Aug 22 2020 at 05:35

¿Está actualmente conectado al sistema? Si es así, puede cambiar a otro shell y luego editar el archivo

> chsh
> vi ~/.bashrc
1 ThorbjørnRavnAndersen Aug 22 2020 at 18:14

Rompió la ruta de su biblioteca que se usa para programas vinculados dinámicamente. Esos no contienen todo el código necesario para ejecutar el programa, pero cargan algunos de las bibliotecas compartidas en el momento del inicio.

Algunos programas se compilan para evitar este problema (por ejemplo, para programas que se ejecutan como root o se necesitan muy temprano en el proceso de arranque). Se colocan tradicionalmente en /sbiny /usr/sbin. Lo que hay exactamente depende de lo que esté instalado.

En mi Mac, no parece que haya un editor disponible, pero su sistema podría tenerlo.

JohnnyTam Aug 24 2020 at 09:09

He seguido la sugerencia de @Peter Cordes para deshacer mi edición mediante: unset LD_LIBRARY_PATH.

¡Muchas gracias!