我在一个文件中有一个用户列表(美国、比利时、印度、斯里兰卡、不丹(我需要在每台机器上运行一个脚本来检查以上用户是否存在,如果不存在,则创建这些用户,用户位于/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
-
您没有调用users.txt,您只调用了users
-
您的grep 中有一堆不正确的正则表达式
-
(可选(您应该在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