私は実際にMacbookProを使用していて、Windows以外のOSにはまったく慣れていません」(残念ながら知っています!)。bashプロファイルを追加する代わりに上書きするという間違いを犯しました...
私が持っているのはターミナルで開いているタブのいくつかであり、これから私の.bash_profileを回復する方法があるかもしれないことを望んでいます(または実際には何らかの方法で)。
ターミナルがまだ開いている場合は、env
と入力します。すべての環境変数が表示されます。新規インストールの場合、または変更を加えたことがない場合、最も重要な変数はPATH
(これは常に存在します)とLD_LIBRARY_PATH
(存在しない可能性があります。私はosxに慣れていません)です。
例えば:
$ env
...
PATH=/usr/bin:/bin:/home/user/bin:/sbin
...
そのファイルで.bashrc
を調達することも一般的なことです。
次に、.bash_profile
を編集して、次のような行を追加できます。
# Source your .bashrc
if [ -f ~/.bashrc ]; then
source ~/.bashrc
fi
# Export the interesting env variables you
# displayed from env command previously
export PATH=/usr/bin:/bin:/home/user/bin:/sbin
これは実際の「バックアップ」ではないため、実際のソリューションではありませんが、端末が開いている限り、環境変数を知ることができ、.bash_profile
の主な目的はそれらの変数を設定することです。
また、いくつかのエイリアスがある場合があります。開いているターミナルでalias
と入力して、定義されているすべてのエイリアスを表示します。出力をそのままコピーして.bash_profile
に貼り付けることができます。 (明らかに、これらのエイリアスが.bashrc
で使用できる場合、以前に.bash_profile
をソースとして使用しているため、.bashrc
でそれらを定義する必要はありません。)
これはちょうど私に起こり、私は次のように回復しました...
定義された変数と関数:
$ declare > definitions.bash.txt
エイリアス:
$ alias > aliases.bash.txt
RAMにこのファイルのコンテンツが保存されている場所があるかどうかを暗黙的に尋ねているようです。答えは「いいえ」です。ファイルはシェルの起動時に単に読み取られて実行されますUnixシェルは、起動スクリプトに継続的にアクセスする必要はありません。
apaulの回答 に従って、ファイルのコンテンツの一部は引き続き取得できます。
解放されたRAM)にファイル自体のフラグメントがまだ再割り当てされていないか、OSに戻されていない可能性はわずかですが、時間をかけて構築する価値はないでしょう。 RAMの内容をディスクファイルにダンプし、それを調べてファイルの内容を見つけようとするプログラム。
あなたが与えられたレッスンを受けて、それらから学びましょう:
押す前によく考える Enterrm
コマンドに注意することを学んだことと同じように、>
の代わりに>>
を使用するコマンドについて。
セットアップ Time Machine 、最も早く。
昔々、最近のバックアップがないことは悲しいがあまりにも一般的な話でした。今では許されません。 Appleはなくなり、合理的に質問できる限り簡単になりました。
愚かなスクリプトが私のbashrcにそれをしたので、次のコマンドを実行してファイルのほとんどを取得しました。
# Retrieve functions definitions
$ declare > .bashrc.new
# Retrieve aliases
$ alias >> .bashrc.new
# Retrieve env
$ echo "export $(env | grep ^PATH=)" >> .bashrc.new
ここでは、ほとんどの.bashrc
がほぼ再構築されています。ここで、ベストプラクティスに一致するように、わずかな調整を行う必要があります。 ;)
カスタム関数の定義を見つけるためのクールなコマンド:type my_function >> .bashrc.new
。
また、env
の戻り値を確認して、新しく作成したファイルに重要だと思うものを含めてください。