Bash Script - получить имя пользователя с указанным UID
Как - учитывая USER ID в качестве параметра, узнать, как его зовут? Проблема в том, чтобы написать скрипт Bash и каким-то образом использовать файл etc/passwd.
2 ответа
uid
это третье поле в /etc/passwd
Исходя из этого, вы можете использовать:
awk -v val=$1 -F ":" '$3==val{print $1}' /etc/passwd
4 способа достичь того, что вам нужно:
http://www.digitalinternals.com/unix/linux-get-username-from-uid/475/
Попробуй это:
grep ":$1:" /etc/passwd | cut -f 1 -d ":"
Это greps для UID в / etc / passwd.
В качестве альтернативы вы можете использовать команду getent:
getent passwd "$1" | cut -f 1 -d ":"
Затем он делает разрез и занимает первое поле, разделенное двоеточием. Это первое поле является именем пользователя.
Вы могли бы найти страницы SS64 для вырезания и grep полезными: http://ss64.com/bash/grep.html http://ss64.com/bash/cut.html