Jadi saya secara tidak sengaja menghancurkan ~/.bashrc. Jika saya memiliki terminal terbuka dengan pengaturan yang sebelumnya ada, apakah ada cara untuk mengekspor pengaturan saat ini kembali ke .bashrc baru? (Saya sudah mencoba set > ~/.bashrc
dari salah satu terminal tersebut dengan beberapa ukuran keberhasilan, tetapi bertanya-tanya apakah ada cara yang lebih ajaib.)
Jawaban yang Diterima:
Satu hal yang dapat Anda coba adalah memulihkan .bashrc
Anda dari memori instance bash yang sedang berjalan. Di Linux, jalankan gcore PID
untuk membuat dump memori dari proses yang ditentukan oleh PID-nya. Apakah ini memiliki peluang untuk bekerja tergantung pada bagaimana bash mengelola memorinya; Saya belum memeriksa kode sumber untuk melihat apakah itu mungkin. Ini tidak bekerja untuk saya di Debian jessie amd64.
Jika itu tidak berhasil, Anda dapat menyimpan pengaturan Anda saat ini, tetapi Anda tidak dapat memulihkan cara pengaturannya, sehingga banyak informasi akan hilang. Jika Anda memiliki konfigurasi yang bergantung pada mesin, pada jenis terminal, dll., maka Anda hanya akan memulihkan setelan untuk instance bash apa pun yang masih berjalan.
-
Cetak semua variabel dalam bentuk yang dapat dibaca kembali. Ini termasuk banyak noise yang harus Anda pilah. Variabel lingkungan (ditandai dengan
declare -x
) tidak boleh didefinisikan di.bashrc
. Anda tapi Anda mungkin telah melakukannya pula. Hapus variabel yang diatur bash secara otomatis (periksa manual dan lihat output darideclare -p
dibash --norc
).declare -p
-
Cetak semua fungsi. Ini termasuk fungsi yang tidak Anda definisikan, misalnya fungsi yang ditentukan oleh sistem penyelesaian (yang Anda inginkan
. /etc/bash_completion
sebagai gantinya).declare -f
-
Cetak alias. Ini mungkin dapat digunakan sebagaimana adanya.
alias
-
Cetak opsi shell. Bandingkan dengan keluaran
shopt
dibash --norc
untuk melihat apa yang Anda ubah.shopt
-
Cetak pengaturan penyelesaian (jika Anda menggunakan sistem penyelesaian peka konteks). Sebagian besar mungkin berasal dari sistem penyelesaian; menemukan yang sudah Anda atur mungkin agak sulit.
complete
-
Cetak ikatan kunci, jika Anda telah menetapkan ikatan kunci di
.bashrc
Anda daripada di.inputrc
. Ini termasuk binding default.bind -p
Mulai sekarang, cadangkan semua file Anda, dan letakkan file konfigurasi Anda di bawah kendali versi.
Terkait:Linux – Tidak dapat Menarik Metadata repositori EPEL?