まだ実行中のzshを使用して上書きされた.zshrcを復元します。

まだ実行中のzshを使用して上書きされた.zshrcを復元します。

コマンドを誤って実行した後、.zshrc何百行もの構成を含むファイルを誤って上書きしました。ただし、このイベントの前にzshが開いている端末も5つあるため、影響を受けません。しかし、私が開く新しい殻完全なzsh構成が失われ、バックアップがありません。

この5つの端末を使い続けることもできますが、何か方法があると思います。メモリからzshrcを抽出する、表面的にzshは実行中にファイルをメモリにロードし、ファイルが終了するまでそこに保存します。私はこれを試しました:

sudo dd if=/dev/mem bs=1M count=256|hexdump -C > ramfile

しかし、私が得るのは私のzshrcとは関係のないデータだけです。

どんな解決策でも大変感謝します。

ベストアンサー1

ディレクトリを使用することをお勧めしますが、/proc/PID/fd/zshは解析後にその設定を指すファイル記述子を閉じます。これは私の推測では、ファイルの元の形式が消えたということです。

ただし、zshの現在の構成をダンプして再構築するのに役立つ方法があります。私は別の質問に対する答えを考えました。

すべてのキーバインディング:

for m ($keymaps) bindkey -LM $m

すべてのZLEユーザーウィジェット

zle -lL

すべてのzスタイル:

zstyle -L

ロードされたモジュール:

zmodload -L

すべての変数:

typeset -p +H -m '*'

モジュールをロードした後は、zsh/parametersエイリアス、オプション、関数も含まれます。

おすすめ記事