Я хочу получить реальное имя пользователя, которое будет напечатано во время сценария входа в систему.
В настоящее время я использую следующую команду:
finger | grep $LOGNAME | head -1 | awk '{print $2 " " $3}'
Есть ли способ лучше? Я не видел в finger
страница руководства, у которой есть аргумент для получения только настоящее имя в жизни.
Я использую TCSH на машине SunOs.
Это просто Поле GECOS из файла паролей, чтобы вы могли получить его прямо оттуда, если хотите:
grep -w $LOGNAME /etc/passwd|cut -f5 -d:
Если кто-то использовал поле GECOS для хранения более чем полного имени, например, номер рабочего телефона (что разрешено, но больше не является распространенным), вам нужно было бы пропустить его через другой разрез, чтобы получить только «полный name "часть поля:
grep -w $LOGNAME /etc/passwd|cut -f5 -d:|cut -f1 -d,
getent passwd $LOGNAME | awk -F ":" '{print $5}'
должно быть проще. Настоящее имя называется «гекос».