Я хочу получить домашний каталог любого пользователя с эхо
echo ~puchuu
>> /home/puchuu
Но я не могу использовать переменную
echo ~$USER
>> ~puchuu
echo `echo ~$USER`
>> ~puchuu
Это может работать для вас:
homedir=$( getent passwd "$USER" | cut -d: -f6 )
Это также будет работать с пользователями, которые не являются вами. Например,
homedir=$( getent passwd "someotheruser" | cut -d: -f6 )
Кажется, вы тот пользователь - почему бы и нет
echo $HOME
?
Я не знаю, помогает ли это, но размещение тильды вне выражения работает на ZSH, но не на Bash:
echo ~`echo $USER`
После входа в систему запустите cd
чтобы перейти в свой домашний каталог, затем запустите pwd
чтобы распечатать рабочий каталог.