web-dev-qa-db-ja.com

「HOME」変数を変更したところ、元に戻すための「〜/ .bash_profile」が見つかりません

私は自分のMac上で環境変数をいじっていて、それらの使い方を学ぼうとしていたので、nano ~/.bash_profileというコマンドを使い、そこでHOME=/Users/MyCompName/Desktopという行を追加してホーム変数を更新しました。

この変更はうまくいき、すべての環境変数を表示するためにprintenvを使用したときに確認できますが、HOMEを元に戻して変更したときに、~/.bash_profileを見つけることができなくなりました。それはどこに行きましたか?

15
Matt

それは同じ場所にあります。

~/Users/YourUserNameのように変更される前に、シェルはそこにあなたの.bash_profileを見つけます。ファイルが読み込まれた後、~は別のパスに展開されるため、~/.bash_profileは関連するファイルを指していません。これは、このコンテキストでは~$HOMEを意味するためです。

実際のホームディレクトリへのフルパスを知っていれば、~の代わりにそれを使うことができます。 Macでは、おそらく次のようになります。

nano /Users/YourUserName/.bash_profile

あるいは、単に$HOMEを見るのではなく、Bashにユーザーデータベースのホームディレクトリを調べさせるようにしてください。これを覚えておく必要はありません。

nano ~YourUserName/.bash_profile

実際のホームディレクトリを変更せずにHOME変数を変更するのは最善の方法ではありません。ユーザのホームディレクトリを変更することは管理作業です。通常、一般ユーザはこれを行うことができません。

32