Zsh
使用仍在執行的 zsh 恢復覆蓋的 .zshrc
在執行錯誤的命令後,我不小心覆蓋了我的
.zshrc
文件,其中包含數百行配置。但是,我仍然有 5 個終端在此事件之前打開了 zsh,因此它們不受影響。但是,我打開的任何新 shell 都會失去整個 zsh 配置,並且我沒有備份。我可以簡單地繼續使用這 5 個終端,但我認為必須有某種形式的方法來從記憶體中提取 zshrc,因為表面上 zsh 在執行時將文件載入到記憶體中並將其儲存在那裡直到它被殺死。我試過這個:
sudo dd if=/dev/mem bs=1M count=256|hexdump -C > ramfile
但我得到的只是與我的 zshrc 無關的數據。
任何解決方案將不勝感激。
我會建議使用
/proc/PID/fd/
目錄,但 zsh 在解析後關閉指向其配置的文件描述符。據此,我最好的猜測是您的原始文件已經消失了。但是,有一些方法可以轉儲 zsh 的目前配置,這可能會幫助您重建它。想到另一個問題的答案:
所有鍵綁定:
for m ($keymaps) bindkey -LM $m
所有 ZLE 使用者小元件
zle -lL
所有 zstyle:
zstyle -L
載入的模組:
zmodload -L
所有變數:
typeset -p +H -m '*'
載入模組後
zsh/parameters
,還將包括別名、選項、函式……