从手指中提取“现实生活中”的值

从手指中提取“现实生活中”的值

我想获取用户的真实姓名以便在登录脚本期间打印。

我目前正在使用以下命令:
finger | grep $LOGNAME | head -1 | awk '{print $2 " " $3}'

有没有更好的方法?我没有在finger手册页中看到它有一个参数来获取仅有的真实姓名。

我在 SunOs 机器上使用 TCSH。

答案1

getent passwd $LOGNAME | awk -F ":" '{print $5}'应该更容易。真正的名字叫“gecos”

答案2

这就是GECOS 字段来自密码文件,因此如果您愿意,您可以直接从那里获取:

grep -w $LOGNAME /etc/passwd|cut -f5 -d:

如果有人使用 GECOS 字段来存储全名以外的内容,例如办公室电话号码(这是允许的,但不再常见),则需要通过另一次剪切来获取该字段的“全名”部分:

grep -w $LOGNAME /etc/passwd|cut -f5 -d:|cut -f1 -d,

相关内容