Получение полного имени пользователя

9

Как мне найти свое полное имя пользователя в Ubuntu? Я хочу, чтобы эта информация распространялась на переменные среды GIT_AUTHOR_NAMEи GIT_COMMITTER_EMAIL.

Nordlöw
источник
Что вы подразумеваете под полным именем пользователя?
Symin
Как «Питер Джексон» вместо, скажем, переменной, USERустановленной на pejack.
Nordlöw
1
Часто лучше видеть полные имена в журналах коммитов.
Nordlöw

Ответы:

10

Эти поля в /etc/passwdфайле называются полями GECOS. К сожалению, я не могу найти ни одной команды, чтобы получить это единственное поле, например полное имя. Я считаю, что это не может быть сделано без использования сценариев оболочки. Ниже приведены два подхода.

  • Разбор passwdнапрямую:

    getent passwd $USER | cut -d ':' -f 5 | cut -d ',' -f 1
    Gert van Dijk
    
  • Использование finger

    finger -m $USER | head -n 1 | sed 's/\(.*\)Name\:\s\(.*\)$/\2/g'
    Gert van Dijk
    

Смежный вопрос по SO: Какой самый простой способ получить полное имя пользователя в системе Linux / POSIX?

Для программирования в C, это является более элегантным, используя getpwnam().


Но на самом деле для использования в Git для одного пользователя сделайте:

git config --global user.name "Your Full Name"
git config --global user.email "user@example.tld"
gertvdijk
источник