GNU/Linux >> Belajar Linux >  >> Linux

Regenerasi .bashrc Dari Shell Saat Ini?

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 dari declare -p di bash --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 di bash --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?
Linux
  1. Menyesuaikan shell Bash

  2. Tujuan .bashrc Dan Bagaimana Cara Kerjanya?

  3. Mengapa Bashrc Memeriksa Apakah Shell Saat Ini Interaktif?

  1. Fungsi Dalam Variabel Shell?

  2. Tip Unix Shell:Ubah Shell Login Dari Bash ke Lainnya

  3. Bagaimana cara menjalankan program dengan direktori kerja yang berbeda dari saat ini, dari shell Linux?

  1. [ :Operator tak terduga dalam pemrograman shell

  2. Skrip Bash:Menggunakan perintah skrip dari skrip bash untuk mencatat sesi

  3. Buka Vim dari dalam skrip Bash Shell