it-swarm.com.de

Holen Sie sich Home-Verzeichnis nach Benutzername

Ich möchte das Home-Verzeichnis eines Benutzers mit Echo erhalten

echo ~puchuu
>> /home/puchuu

Aber ich kann Variable nicht verwenden

echo ~$USER
>> ~puchuu
echo `echo ~$USER`
>> ~puchuu
80
puchu

Sie können eval verwenden:

eval echo ~$USER

Aber siehe Andrew 's Kommentar und Glenn ' s Antwort unten.

83
choroba

Das könnte für Sie funktionieren:

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

Dies funktioniert auch für Benutzer, die nicht Sie sind. Zum Beispiel,

homedir=$( getent passwd "someotheruser" | cut -d: -f6 )
60
glenn jackman

Es scheint, dass Sie dieser Benutzer sind - warum nicht

echo $HOME

?

12
greenoldman

Ich weiß nicht, ob es hilft, aber das Platzieren der Tilde außerhalb des Ausdrucks funktioniert in ZSH, aber nicht in Bash:

echo ~`echo $USER`
1
Pedro Penna

Sobald Sie sich angemeldet haben, führen Sie cd aus, um zu Ihrem Ausgangsverzeichnis zu gelangen, und führen Sie dann pwd aus, um das Arbeitsverzeichnis zu drucken.

0
Vinoth Hari