Biasanya ketika saya menemukan perintah yang ingin saya alias, saya gema ke .bashrc saya seperti ini:
[up button pressed to last command, then line edited so that it reads]
$echo "command-i-just-did" >> ~/.bashrc
Mungkin ada cara yang lebih baik untuk melakukan ini. Tapi bagaimanapun, baru saja saya menimpa seluruh file .rc dengan menggunakan chevron tunggal. Namun, karena .bashrc masih terkini, masih menerima alias lama saya (untuk sekarang tentu saja). Jadi adakah cara untuk memulihkannya?
bash
data-recovery
bashrc
ixtmixilix
sumber
sumber
echo "set -o noclobber" > ~/.bashrc
(ingat untuk menambahkan braket sudut kedua).bashrc
memiliki logika di dalamnya yang bergantung pada variabel lokal seperti host, pengguna, dll. Yang mungkin tidak dapat dipulihkan. Jawaban sebenarnya adalah memulihkan dari cadangan terbaru Anda. Anda memang memiliki cadangan baru-baru ini?Jawaban:
alias
tanpa parameter output definisi alias yang saat ini didefinisikan.declare -f
menampilkan definisi fungsi yang saat ini didefinisikan.export -p
menampilkan definisi dari variabel yang saat ini didefinisikan.Semua perintah output definisi siap untuk digunakan kembali, Anda dapat mengarahkan output mereka langsung ke yang baru
~/.bashrc
.Semua daftar akan berisi banyak elemen yang didefinisikan di tempat lain, misalnya
/etc/profile
dan/etc/bash_completion
. Jadi, Anda harus membersihkan daftar secara manual.sumber
.bashrc
untuk sistem Anda. Di Debian ada di/etc/skel
, atau Anda dapat membuat pengguna baru, jika Anda bisa, untuk mendapatkan merek baru.bashrc
.set
dandeclare
(tanpa argumen) menampilkan semua ini sekaligus.typeset -f > .bashrc
harus melakukannya, asalkan semua yang Anda miliki adalah alias.sumber
functions
perintah tidak ada bagi saya di4.2.10(2)-release
. Anda mungkin berartideclare -f
.