如果UID等于/大于1000,我将尝试使用/etc/passwd循环从for获取用户名。下面的简单bash脚本可以工作,但出于某种原因,它会打印用户名两次。
#!/bin/bash
for userid in `awk -F: '{print $3}' /etc/passwd`
do
if (("$userid" >= 1000)); then
echo "Valid User" :`cat /etc/passwd | grep $userid | awk -F: '{print $1,$3}'`
fi
done发布于 2019-08-03 05:36:53
尝尝这个,
awk -F ':' '$3>=1000 {print "Valid User :"$1","$3}' /etc/passwd也许您可能有像1000和10001这样的用户ID。因此,您的grep在迭代for循环时会导致重复。
试着
echo "Valid User" :`cat /etc/passwd | grep ":$userid:" | awk -F: '{print $1,$3}'`https://unix.stackexchange.com/questions/533663
复制相似问题