$ HOME環境変数は常にLinuxシステムで設定されていますか?

$ HOME環境変数は常にLinuxシステムで設定されていますか?

マシンがLinuxカーネルを実行し、セッションがBashシェルを使用し、すべてがデフォルト設定を使用していると仮定した場合(ユーザーが設定ファイルを変更していない場合)、環境$HOME変数が常に設定されていると仮定できますか?

答え1

はい。これPOSIX仕様 必要オペレーティングシステムは$ HOMEの値を設定します。

HOME
システムは、ユーザーのホームディレクトリのパス名にログインするときにこの変数を初期化する必要があります。 pwd.hを参照してください。

ユーザーはどうですかnobody

# su - nobody
No directory, logging in with HOME=/
$ echo $HOME
/

nobody実際のホームがなくてもルートHOMEディレクトリに設定されます。

関連情報