Restaurar ~ / .bashrc sin usar comandos bash
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
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
¿Está actualmente conectado al sistema? Si es así, puede cambiar a otro shell y luego editar el archivo
> chsh
> vi ~/.bashrc
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.
He seguido la sugerencia de @Peter Cordes para deshacer mi edición mediante: unset LD_LIBRARY_PATH.
¡Muchas gracias!