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

Zoek thuismap op gebruikersnaam

Ik wil de home dir van een gebruiker verkrijgen met echo

echo ~puchuu
>> /home/puchuu

Maar ik kan de variabele

echo ~$USER
>> ~puchuu
echo `echo ~$USER`
>> ~puchuu
``` niet gebruiken

Antwoorden (5)

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

U kunt eval gebruiken:

eval echo ~$USER

Maar zie Andrew ’s commentaar en glenn ’s antwoord hieronder.

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

Dit zou voor jou kunnen werken:

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

Dit zal ook werken bij gebruikers die jij niet bent. Bijvoorbeeld,

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

Het lijkt erop dat jij die gebruiker bent – waarom niet

echo $HOME

?

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

Ik weet niet of het helpt, maar de tilde buiten de expressie plaatsen werkt op ZSH maar niet op Bash:

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

Als je ingelogd bent, voer dan cd uit om naar je home directory te gaan, voer dan pwd uit om de werkdirectory af te drukken.