私は自分のMac上で環境変数をいじっていて、それらの使い方を学ぼうとしていたので、nano ~/.bash_profile
というコマンドを使い、そこでHOME=/Users/MyCompName/Desktop
という行を追加してホーム変数を更新しました。
この変更はうまくいき、すべての環境変数を表示するためにprintenv
を使用したときに確認できますが、HOME
を元に戻して変更したときに、~/.bash_profile
を見つけることができなくなりました。それはどこに行きましたか?
それは同じ場所にあります。
~
が/Users/YourUserName
のように変更される前に、シェルはそこにあなたの.bash_profile
を見つけます。ファイルが読み込まれた後、~
は別のパスに展開されるため、~/.bash_profile
は関連するファイルを指していません。これは、このコンテキストでは~
が$HOME
を意味するためです。
実際のホームディレクトリへのフルパスを知っていれば、~
の代わりにそれを使うことができます。 Macでは、おそらく次のようになります。
nano /Users/YourUserName/.bash_profile
あるいは、単に$HOME
を見るのではなく、Bashにユーザーデータベースのホームディレクトリを調べさせるようにしてください。これを覚えておく必要はありません。
nano ~YourUserName/.bash_profile
実際のホームディレクトリを変更せずにHOME
変数を変更するのは最善の方法ではありません。ユーザのホームディレクトリを変更することは管理作業です。通常、一般ユーザはこれを行うことができません。