Come ripristinare il bashrc predefinito?


9

Ho accidentalmente sovrascritto .bashrc. Ho fatto quanto segue

echo 'export EDITOR=/usr/bin/nano' >> /etc/bashrc

Bur ho scritto per sbaglio >invece di >>. Immagino sia stata una cattiva idea.

Sono ancora in grado di accedere usando questo trucco (premi Ctrl+Cprima che il .bashrc sarà eseguito completamente). Ma come posso ripristinarlo al valore predefinito .bashrc?

Sto usando CentOS 6.5 x86_64. Se il file bashrc predefinito è presente nella distribuzione da qualche parte, non riesco a trovarlo.

Risposte:


13

Spostare il file danneggiato, quindi reinstallare il pacchetto che fornisce il file danneggiato.

mv /etc/bashrc /etc/bashrc.damaged
yum reinstall $(rpm -qf /etc/bashrc)

Grazie! Aggiungi per rimuovere il file danneggiato prima di ( rm /etc/bashrc) e riavvia bash dopo ( source ~/.bash_profile)
Nickolai Leschov

9

Hai sovrascritto il .bashrcnella tua directory utente? O tutto il sistema .bashrcmemorizzato in /etc/skel/? You can always copy the default.bashrc from/ etc / skel / `in questo modo:

cp /etc/skel/.bashrc ~/.bashrc

MODIFICA: Nei commenti sotto il poster originale si afferma:

Ho fatto eco eco EDITOR = / usr / bin / nano> / etc / bashrc quando avrei dovuto scrivere >> .

Ok, questo spiega cosa è andato storto. Ma in generale, chiunque suggerisca di regolare i file di sistema Linux / Unix usando la >>concatenazione dovrebbe essere pubblicamente svergognato per sempre. Il problema è esattamente quello che hai incontrato. Tutto ciò che >>fa è aggiungere il contenuto a sinistra >>dell'elemento in alto a destra di >>. Sembra veloce e veloce, ma a mio modesto parere sei molto più sicuro semplicemente aprendo il file in un editor e aggiungendo tutto ciò che è necessario aggiungere alla fine del file. Basta fare questo:

sudo nano /etc/bashrc

Aggiungi tutto ciò che ti serve per aggiungere quel file, salvalo e vai avanti.


1
Aggiunto: l'ho fatto echo 'export EDITOR=/usr/bin/nano' > /etc/bashrcquando avrei dovuto scrivere >>. Ho già sostituito il file con quello di /etc/skel/, ma continuo a ricevere "Connessione a 1.2.3.4 chiusa". Immagino che il file /etc/skel/sia un modello per un "reale" .bashrc, piuttosto che un'istanza di un file di configurazione appropriato in sé. Forse .bashrcdovrebbe contenere un ciclo infinito o qualcosa del genere? Posso accedere solo premendo il tasto Ctl+Ctra l'invio di un sshcomando dal mio computer e il momento in cui mi ha espulso. A proposito, sul mio sistema è /etc/bashrcsenza punto
Nickolai Leschov il

Ah, ok Un piccolo consiglio generale su come >>ho modificato la mia risposta.
Jake Gould


0

3 righe di comando per ripristinare bashrc! ci dai una risposta molto utile, specialmente per un principiante di Linux come me, lo applico con successo,

mv /etc/bashrc /etc/bashrc.damaged
yum reinstall $(rpm -qf /etc/bashrc)
source ~/.bash_profile

grazie di tutto


0

Esegui (non è necessario essere root)

dnf download $(rpm -qf /etc/bashrc)

per scaricare il rpmpacchetto nella directory corrente. Quindi estrarre il pacchetto e spostare il file a cui appartiene. In questo modo non è necessario reinstallare alcun pacchetto.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.