1

如何 - 给定 USER ID 作为参数,找出他的名字是什么?问题是编写一个 Bash 脚本,并以某种方式使用 etc/passwd 文件。

4

2 回答 2

3

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/

于 2016-12-18T15:03:05.247 回答
2

尝试这个:

grep ":$1:" /etc/passwd | cut -f 1 -d ":"

这对 /etc/passwd 中的 UID 进行了 greps。

或者,您可以使用 getent 命令:

getent passwd "$1" | cut -f 1 -d ":"

然后它进行剪切并获取第一个字段,由冒号分隔。第一个字段是用户名。

您可能会发现用于 cut 和 grep 的 SS64 页面很有用: http ://ss64.com/bash/grep.html http://ss64.com/bash/cut.html

于 2016-12-18T14:12:25.513 回答