Bagaimana cara mengembalikan bashrc default?


9

Saya tidak sengaja menimpa .bashrc. Saya melakukan yang berikut

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

Tetapi saya sengaja diketik >bukan >>. Saya kira, itu ide yang buruk.

Saya masih bisa masuk dengan menggunakan trik ini (klik Ctrl+Csebelum .bashrc akan sepenuhnya dieksekusi). Tapi bagaimana cara mengembalikannya ke default .bashrc?

Saya menjalankan CentOS 6.5 x86_64. Jika file bashrc default ada di distribusi di suatu tempat, saya tidak dapat menemukannya.

Jawaban:


13

Pindahkan file yang rusak keluar dari jalan, kemudian instal ulang paket yang menyediakan file yang rusak.

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

Terima kasih! Harap tambahkan untuk menghapus file yang rusak sebelum ( rm /etc/bashrc) dan mulai ulang bash setelah ( source ~/.bash_profile)
Nickolai Leschov

9

Apakah Anda menimpa .bashrcdirektori pengguna Anda? Atau seluruh sistem .bashrcdisimpan dalam /etc/skel/? You can always copy the default.bashrc from/ etc / skel / `seperti ini:

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

EDIT: Dalam komentar di bawah ini poster asli menyatakan:

Saya melakukan echo export EDITOR = / usr / bin / nano> / etc / bashrc ketika seharusnya saya menulis >> .

Oke, itu menjelaskan apa yang salah. Tetapi secara umum, siapa pun yang menyarankan file sistem Linux / Unix disesuaikan dengan menggunakan >>concatenation harus dipermalukan secara publik selamanya. Masalahnya persis seperti apa yang Anda temui. Yang >>dilakukan adalah menambahkan konten di sebelah kiri >>ke item di atas kanan >>. Tampaknya licin dan cepat, tetapi menurut pendapat saya, Anda jauh lebih aman hanya dengan membuka file di editor dan menambahkan apa pun yang Anda perlu tambahkan ke akhir file. Lakukan ini:

sudo nano /etc/bashrc

Tambahkan apa pun yang Anda perlu tambahkan ke file itu, simpan dan lanjutkan.


1
Ditambahkan: Saya lakukan echo 'export EDITOR=/usr/bin/nano' > /etc/bashrcketika saya seharusnya menulis >>. Saya sudah mengganti file dengan yang dari /etc/skel/, tapi saya tetap mendapatkan "Koneksi ke 1.2.3.4 ditutup.". Saya kira file dalam /etc/skel/adalah template untuk "nyata" .bashrc, bukan contoh dari file konfigurasi yang tepat. Mungkin .bashrcseharusnya berisi loop tanpa akhir atau sesuatu? Saya hanya bisa masuk melalui hitting Ctl+Cantara mengeluarkan sshperintah dari komputer saya dan waktu itu mengeluarkan saya. Ngomong-ngomong, pada sistem saya /etc/bashrctanpa periode
Nickolai Leschov

Ahhh, baiklah. Sedikit saran umum tentang >>saya telah mengedit jawaban saya.
JakeGould


0

3 perintah baris untuk mengembalikan bashrc! Anda memberi kami jawaban yang sangat berguna, terutama untuk pemula linux seperti saya, saya berhasil menerapkannya,

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

Terima kasih untuk segalanya


0

Jalankan (Anda tidak perlu menjadi root)

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

untuk mengunduh rpmpaket di direktori saat ini. Kemudian ekstrak paket dan pindahkan file ke tempatnya. Dengan cara ini Anda tidak perlu menginstal ulang paket apa pun.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.