Как данный идентификатор пользователя как параметр, узнать, как его зовут? Проблема состоит в том, чтобы написать скрипт Bash и каким-то образом использовать файл etc/passwd.Bash Script - получить имя пользователя, присвоенное UID
0
A
ответ
0
Попробуйте это:
grep ":$1:" /etc/passwd | cut -f 1 -d ":"
Это отбирает для UID в/и т.д./пароль.
В качестве альтернативы вы можете использовать getent команды:
getent passwd "$1" | cut -f 1 -d ":"
Затем он делает надрез и занимает первое поле, разделители двоеточия. Это первое поле является именем пользователя.
Вы можете найти на страницах SS64 для вырезания и Grep полезно: http://ss64.com/bash/grep.html http://ss64.com/bash/cut.html
0
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/
Что вы пытались? вы пытались решить это? – Inian
И какой дистрибутив Linux вы/ – Inian
Я использую Ubuntu. Я думал об использовании cat, чтобы получить все, что находится внутри etc/passwd, но я не знаю, что делать дальше – PaulW