Ist es möglich, das Home-Verzeichnis neu zu definieren? z. B. nach /ext1/username statt /home/username , d.h. Erweitern des ~ in ein anderes Verzeichnis (im Gegensatz zum eigentlichen Home-Verzeichnis, in dem sich die Home-Dateien der Benutzer befinden).
(Diese Frage ist hauptsächlich akademisch, da dies wie eine schlechte Praxis erscheint. Ich habe auch keine Wahl, wenn es darum geht, csh zu verwenden , obwohl ich die Top 10 gelesen habe.)
Akzeptierte Antwort:
Die Tilde ~ wird von Ihrer Shell interpretiert. Ihre Shell interpretiert ~ als Kurzform von $HOME .
Versuchen Sie (echo ~; HOME=foo; echo ~) . Dies sollte zuerst Ihr echtes Home-Verzeichnis und danach „foo“ ausgeben, wenn Sie $HOME setzen dazu.
Der Standardwert von $HOME kommt von Ihrer Systemkonfiguration. Verwenden Sie getent passwd um alle bekannten Benutzer und ihre Home-Verzeichnisse aufzulisten. Abhängig von Ihrer Systemkonfiguration können diese Einträge aus /etc/passwd stammen oder einen Remote-Verzeichnisdienst.
Wenn Sie Ihr Home-Verzeichnis nur vorübergehend neu definieren möchten, legen Sie einfach ein anderes $HOME fest .
Wenn Sie es dauerhaft ändern möchten, müssen Sie den passwd-Eintrag ändern, z. durch manuelles Bearbeiten von /etc/passwd .