Как правильно отображать содержимое переменной среды (здесь: домашний каталог текущего пользователя)?

также попробуйте руководство от jorge

руководство к единству

1
задан 23 July 2015 в 10:52

2 ответа

Чтобы напечатать переменную среды, вы должны использовать знак $ раньше. Итак, что вы делаете в

echo home

, это просто напечатает слово home, так как оболочка не будет расширять переменную home, так как она не начинается с знака $, и она должна быть заглавной.

Итак, чтобы получить вывод, который вы должны запустить:

echo $HOME

Чтобы перечислить все переменные среды, вы можете использовать команду env.

Также вы можете получить тот же результат echo $HOME, выполнив команду:

env | grep '^HOME'

Теперь есть некоторые случаи, когда вы создаете нового пользователя без домашнего каталога, это может произойти, если вы используете команду useradd без кнопки [ f9] или без объявления переменных HOME_DIR и BASE_DIR. Итак, если вы создаете этого пользователя с помощью команды useradd, это будет так.

Некоторые полезные ссылки:

Как добавить пользователей в Ubuntu Что такое среда vaiables
3
ответ дан 23 May 2018 в 18:52
  • 1
    env | grep HOME | head -1 дает JAVA_HOME=/usr/lib/jvm/java-8-oracle – A.B. 23 July 2015 в 10:14
  • 2
    @ A.B. Это связано с вашим env, нормально, я исправлю это – Maythux 23 July 2015 в 10:16
  • 3
    @ A.B. Почему вы пытаетесь скопировать часть моего ответа и добавили к другому ответу ?! – Maythux 23 July 2015 в 10:21

Если вы явно не создали свою учетную запись без дома, все пользователи должны получить домашний каталог. В терминале есть разновидность, к которой вы можете получить доступ. cd - один, cd ~ - один. Чтобы увидеть путь к нему, выполните cd; pwd или echo ~ или echo $HOME или awk -F ':' -v myusername=$(whoami) ' $0~myusername { print $6 }' /etc/passwd (последний использует вывод команды whoami для поиска соответствующей строки в файле /etc/passwd и печатает 6-й элемент в этой строке: в качестве разделителя полей)

2
ответ дан 23 May 2018 в 18:52

Другие вопросы по тегам:

Похожие вопросы: