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

Другие вопросы по тегам