web-dev-qa-db-ja.com

実行中のセッションから.bashrcを再構築する

誤って.bashrcを削除してしまいました。私はまだターミナルを動かしています。どのような設定を復元できますか?

私はすでにエイリアスを持っています(aliasコマンドから)。すべてのifとcaseがなくなったと思いますが、変数を取得したいと思います。どうやってやるの? (それらを入力する必要があることを除いて)。また、他に何を回復できますか?

6
Ada

独自の調整を行わずにデフォルトの.bashrcファイルがある場合は、skelディレクトリから元のファイルを復元できます。

cp /etc/skel/.bashrc ~/

Skelディレクトリには、新しいユーザーのデフォルト設定があります(またはあるはずです)。ユーザーが作成されると、スケルディレクトリの内容が新しいユーザーホームにコピーされます

デフォルトのbashrcファイルにないユーザーのbashrcファイルに何があったかを確認する方法の説明を追加しました

.bashrcファイルを微調整し、envが複数のファイル(/ etc/bashrc、/ etc/profile、.profile、..から始まる可能性のあるすべてのセッション設定(多くのもの)をダンプするため。 ..)。デフォルトのbashrcとは異なるown bashrcから生成されたものを取得し、他のbashソースファイルから生成されたものをすべて破棄する必要があります。

Silviudによって投稿された「env」の回答に基づいて、古いターミナルが開いている限り、env出力をファイルに保存できます。次に、新しいシェルを開き、古いenvを新しいenvと比較して、.bashrcから生成されたものを表示します。

たとえば、古いターミナルでenvをファイルにダンプします。

env > oldenv

新しいシェルで、.bashrcがデフォルトであるため、変更された内容を取得します。

comm -3 <(env) oldenv

Skel dirから取得した.bashrcを編集して、上記のコマンドから取得した違いを追加します。

HTH

3
hmontoliu
Shell$ env
# will tell you all the settings you have into that terminal 
# the alias is handy as well for all the aliases you have
2
silviud

これは私に起こった、本当に怖い! 「env」を実行してすべての環境変数を取得しました。また、コマンド「alias」は、環境にないすべてのエイリアスを出力します。

だから実行します:

env

そして

alias

それらをbashrcスケルトンファイルにコピーします。

ここで、.bashrcをすぐにgitに入れます。

cd ~
git init
git add .bashrc
git commit -m "added .bashrc"
2
Bart Lantz