Ripristino di ~ / .bashrc senza usare i comandi bash
Penso di aver avuto un errore di battitura quando aggiungo un percorso ~/.bashrc
e dopo averlo generato, non posso più usare i comandi bash.
Ora voglio ripristinare una normale ~/.bashrc
, tuttavia la maggior parte della discussione che ho trovato (ad esempio, come riparare un .bashrc che è stato modificato in modo errato? ) Richiede l'uso dei comandi bash, ad esempiocp
clam@cuerei:~# cp /etc/skel/.bashrc ~
cp: /home/cltam/script/lib/libc.so.6: version `GLIBC_2.17' not found (required by cp)
Posso sapere come posso ripristinare ~/.bashrc
senza usare i comandi bash?
Grazie.
Risposte
cp
non è un comando bash - è un programma esterno. Questo è il motivo per cui fallisce; i comandi bash effettivi non sarebbero influenzati dalle modifiche alla libreria o al percorso. Quindi vuoi il contrario, cioè usare solo i comandi bash.
È possibile eliminare completamente il contenuto del file, utilizzando:
true > ~/.bashrc
O sovrascrivi con altri contenuti:
echo "" > ~/.bashrc
Oppure potresti provare ad annullare temporaneamente le modifiche errate all'interno della shell live:
unset LD_LIBRARY_PATH LD_PRELOAD LD_AUDIT
export PATH=/bin:/usr/bin
cp /etc/skel/.bashrc ~
Oppure puoi copiare il contenuto del file, riga per riga, usando solo i built-in della shell:
while IFS="" read -r line; do
echo "$line";
done < /etc/skel/.bashrc > ~/.bashrc
Sei attualmente connesso al sistema? In tal caso, puoi passare a un'altra shell, quindi modificare il file
> chsh
> vi ~/.bashrc
Hai interrotto il percorso della libreria che viene utilizzato per i programmi collegati dinamicamente. Quelli non contengono tutto il codice necessario per eseguire il programma, ma ne caricano alcuni dalle librerie condivise all'avvio.
Alcuni programmi vengono compilati per evitare questo problema (ad esempio per i programmi in esecuzione come root o necessari all'inizio del processo di avvio). Sono tradizionalmente collocati in /sbin
e /usr/sbin
. Cosa c'è esattamente dipende da cosa è installato.
Sul mio Mac non sembra che sia disponibile un editor, ma il tuo sistema potrebbe averlo.
Ho seguito il suggerimento di @Peter Cordes di annullare la mia modifica tramite: unset LD_LIBRARY_PATH.
Grazie mille!