È 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 .