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

Obter directório home por nome de utilizador

Eu quero obter a sujidade de qualquer utilizador com eco

echo ~puchuu
>> /home/puchuu

Mas não posso usar a variável

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

Respostas (5)

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

Pode usar eval:

eval echo ~$USER

Mas veja o comentário de Andrew e a resposta de glenn abaixo.

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

Isto pode funcionar para si:

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

Isto também funcionará em utilizadores que não são vocês. Por exemplo:

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

Parece que é esse utilizador – porque não

echo $HOME

?

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

Não sei se ajuda, mas colocar o til fora da expressão funciona em ZSH mas não em Bash:

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

Uma vez iniciada a sessão, corra cd para ir para o seu directório home, depois corra pwd para imprimir o directório de trabalho.