如何创建一个脚本来检查系统中存在的用户列表



我在一个文件中有一个用户列表(美国、比利时、印度、斯里兰卡、不丹(我需要在每台机器上运行一个脚本来检查以上用户是否存在,如果不存在,则创建这些用户,用户位于/etc/users.txt中的文件上

users.txt的内容

America
Belgium
India
Srilanka
Bhutan

我试过了,但它没有检查我的文件列表中的用户。

#!/bin/sh
if grep -q "^$1:" /etc/users.txt ;then
echo exists
else
echo FALSE
fi
  1. 您没有调用users.txt,您只调用了users

  2. 您的grep 中有一堆不正确的正则表达式

  3. (可选(您应该在grep上使用-i来接受小写字母

    #!/bin/sh
    if grep -i -q "$1" /etc/users.txt ;then
    echo exists
    else
    echo FALSE
    fi
    

使用while循环读取文件:

while read -r line;
do
if id "$line" >/dev/null 2>&1; then
echo "$line exists"
else
echo "$line does not exist"
sudo useradd "$line"
fi 
done < file

相关内容

  • 没有找到相关文章

最新更新