ホームディレクトリを再定義することは可能ですか? 例 /ext1/username
へ /home/username
の代わりに 、つまり~
を展開します 別のディレクトリに移動します(ユーザーのホームファイルが配置されている実際のホームディレクトリを変更するのではありません)。
(この質問は、そうするのは悪い習慣のように思われるため、ほとんどが学術的なものです。csh
を使用することについても選択の余地はありません。 、トップ10を読んだにもかかわらず。)
承認された回答:
チルダ~
シェルによって解釈されます。シェルは~
を解釈します $HOME
の短縮形として 。
(echo ~; HOME=foo; echo ~)
を試してください 。 $HOME
を設定すると、最初に実際のホームディレクトリが出力され、その後「foo」が出力されます。 それに。
$HOME
のデフォルト値 あなたのシステム構成から来ます。 getent passwd
を使用する すべての既知のユーザーとそのホームディレクトリを一覧表示します。システム構成によっては、これらのエントリは/etc/passwd
から取得される場合があります。 または任意のリモートディレクトリサービス。
ホームディレクトリを一時的に再定義するだけの場合は、別の$HOME
を設定するだけです。 。
恒久的に変更したい場合は、passwdエントリを変更する必要があります。 /etc/passwd
を手動で編集する 。