所以我试图在 etc/passwd 中列出一些有关用户的信息。到目前为止,我设法让脚本写出从 uid 1000 开始的所有用户。我需要另一个函数来写入有关特定用户的信息,例如: Bash myprogram.sh -ul Erik 然后脚本将列出用户名、密码该特定用户的 、uid、guid、注释、目录和 shell。在程序中,我使用 $1 作为命令,使用 $2 作为第二个输入,这将是用户名
答案1
人们可以用getent
and来做到这一点awk
……
获取密码 埃里克 | awk -F: '{print "用户名: " $1 "\n密码: " $2 "\nUid: " $3 "\nGid: " $4 "\n注释: " $5 "\nHome: " $6 "\nShell: " $7 "\ n"}'
…但是是时候记住一条旧命令了,并不是所有的事情都是awk
or 的练习perl
:
手指-l -k 埃里克
请注意,某些操作系统可能没有该-k
选项。 (它排除了一些您未表示感兴趣的信息。)但-l
相当普遍。
进一步阅读
答案2
尝试围绕这个问题:
awk -F: '{if ($3 >= 1000) {print "Username: " $1 "\nPassword: " $2 "\nUid: " $3 "\nGid: " $4 "\nComment: " $5 "\nHome: " $6 "\nShell: " $7 "\n---"}} /etc/passwd