È possibile ridefinire la home directory? ad es. a /ext1/username
invece di /home/username
, ovvero espandendo il ~
in un'altra directory (anziché modificare la directory home effettiva in cui si trovano i file home degli utenti).
(Questa domanda è per lo più accademica, poiché sembra una cattiva pratica farlo. Inoltre non ho scelta in merito all'uso di csh
, nonostante abbia letto la Top 10.)
Risposta accettata:
La tilde ~
è interpretato dalla tua shell. La tua shell interpreterà ~
come una forma abbreviata di $HOME
.
Prova (echo ~; HOME=foo; echo ~)
. Questo dovrebbe prima stampare la tua vera home directory e poi "pippo", mentre imposti $HOME
a quello.
Il valore predefinito di $HOME
deriva dalla tua configurazione di sistema. Usa getent passwd
per elencare tutti gli utenti conosciuti e le loro home directory. A seconda della configurazione del tuo sistema, queste voci potrebbero provenire da /etc/passwd
o qualsiasi servizio di directory remota.
Se vuoi solo ridefinire temporaneamente la tua home directory, imposta un altro $HOME
.
Se si desidera modificarlo in modo permanente, è necessario modificare la voce passwd, ad es. modificando manualmente /etc/passwd
.