我希望能够查看当前登录服务器的人员,然后/etc/passwd根据他们的用户名搜索文件并找到他们的 ID(列 3)和全名(列 5)并将它们一起显示。
例如:
$ who
USER TTY
billyt pts/2
$ cat /etc/passwd
…
billyt:x:10:100:Tom Billy:/home/billyt:/bin/bash
…
我的输出应该显示他的用户名、ID 和全名:
Username: billyt ID: 10 FullName: Tom Billy
这是我到目前为止所尝试的:
#!/bin/bash
file="/etc/passwd"
while IFS=: read -r f1 f2 f3 f4 f5 f6 f7
do
# display fields using f1, f2,..,f7
echo "Username: $f1, UserID: $f3, FullName: $f5"
done <"$file"
我尝试显示我需要的字段(f1、f3 和 f5)。这是一个好方法吗?我可以简单地从who命令中搜索,保存谁(用户名)的第一个字段,who.txt然后从上面的文件中搜索它吗?