获取完整用户名

如何在Ubuntu中查找我的完整用户名?我希望将这些信息传播到环境变量GIT_AUTHOR_NAMEGIT_COMMITTER_EMAIL

全名是指用户的完整姓名是什么意思? - Symin
像“彼得·杰克逊”这样,而不是例如将变量USER设为pejack - Nordlöw
1在提交日志中看到完整的姓名通常更好。 - Nordlöw
1个回答

这些在/etc/passwd文件中的字段被称为GECOS字段。不幸的是,我找不到一个单独的命令来获取这个单一字段,比如全名。我相信这是无法在不使用shell脚本的情况下完成的。以下是两种方法。
  • 直接解析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"