マシンがLinuxカーネルを実行し、セッションがBashシェルを使用し、すべてがデフォルト設定を使用していると仮定した場合(ユーザーが設定ファイルを変更していない場合)、環境$HOME
変数が常に設定されていると仮定できますか?
答え1
はい。これPOSIX仕様 必要オペレーティングシステムは$ HOMEの値を設定します。
HOME
システムは、ユーザーのホームディレクトリのパス名にログインするときにこの変数を初期化する必要があります。 pwd.hを参照してください。
ユーザーはどうですかnobody
?
# su - nobody
No directory, logging in with HOME=/
$ echo $HOME
/
nobody
実際のホームがなくてもルートHOME
ディレクトリに設定されます。