だから私は愚かに〜/.bashrcを破壊しました。以前に設定されていた端末を開いている場合、現在の設定を新しい.bashrcにエクスポートする方法はありますか? (set > ~/.bashrc
を試しました ある程度の成功を収めた上記の端末の1つからですが、もっと魔法のような方法があるかどうか疑問に思っています。)
承認された回答:
試すことができることの1つは、.bashrc
を回復することです。 bashの実行中のインスタンスのメモリから。 Linuxでは、gcore PID
PIDで指定されたプロセスのメモリダンプを作成します。これが機能する可能性があるかどうかは、bashがメモリを管理する方法によって異なります。ソースコードをチェックして、それが可能かどうかを確認していません。 Debianjessieamd64では機能しません。
それでも問題が解決しない場合は、現在の設定を保存できますが、設定した方法を復元できないため、多くの情報が失われます。マシンや端末の種類などに依存する構成がある場合は、bashのインスタンスがまだ実行されている場合にのみ設定を回復します。
-
読み戻すことができる形式ですべての変数を印刷します。これには、整理しなければならない多くのノイズが含まれます。環境変数(
declare -x
でマークされています ).bashrc
で定義しないでください とにかくそうしているかもしれません。 bashが自動的に設定する変数を削除します(マニュアルを確認し、declare -p
の出力を確認してください。bash --norc
で 。declare -p
-
すべての機能を印刷します。これには、完了システムによって定義された関数(
. /etc/bash_completion
が必要な関数など)など、ユーザーが定義していない関数が含まれます。 代わりに)。declare -f
-
エイリアスを出力します。これらはおそらくそのまま使用できます。
alias
-
シェルオプションを印刷します。
shopt
の出力と比較してくださいbash --norc
で 何を変更したかを確認します。shopt
-
完了設定を印刷します(状況依存の完了システムを使用している場合)。これらのほとんどは、おそらく完了システムから来ています。調整したものを見つけるのは少し難しいかもしれません。
complete
-
.bashrc
でキーバインディングを定義している場合は、キーバインディングを印刷します.inputrc
ではなく 。これにはデフォルトのバインディングが含まれます。bind -p
今後は、すべてのファイルをバックアップし、構成ファイルをバージョン管理下に置きます。
関連:Linux – EPELリポジトリのメタデータをプルできませんか?