2012-10-06 15:17:31 +0000 2012-10-06 15:17:31 +0000
86
86

Ottenere la home directory per nome utente

Voglio ottenere la home dir di qualsiasi utente con echo

echo ~puchuu
>> /home/puchuu

Ma non posso usare la variabile

echo ~$USER
>> ~puchuu
echo `echo ~$USER`
>> ~puchuu

Risposte (5)

90
90
90
2012-10-06 15:21:58 +0000

Puoi usare eval:

eval echo ~$USER

Ma vedi il commento di Andrew e la risposta di glenn qui sotto.

68
68
68
2012-10-06 18:50:27 +0000

Questo potrebbe funzionare per te:

homedir=$( getent passwd "$USER" | cut -d: -f6 )

Questo funzionerà anche su utenti che non siete voi. Per esempio,

homedir=$( getent passwd "someotheruser" | cut -d: -f6 )
14
14
14
2014-12-18 16:08:59 +0000

Sembra che tu sia quell'utente – perché non

echo $HOME

?

1
1
1
2016-07-12 18:00:01 +0000

Non so se aiuta, ma mettere la tilde fuori dall'espressione funziona su ZSH ma non su Bash:

echo ~`echo $USER`
0
0
0
2016-08-15 10:32:47 +0000

Una volta effettuato il login, eseguite cd per andare alla vostra home directory, poi eseguite pwd per stampare la directory di lavoro.