思路:
判断用户是否存在,标记flag
存在,修改用户密码
不存在,创建用户并修改密码
#!/bin/bash
#the script act on a batch of add user,username at the same password
name="admin"
password="demo"
userList="cat /etc/passwd | awk -F ':' '{print $1}'"
flag=false
for name in $userList; do
#statements
flag=true
done
if [ $flag=true ]; then
#change password
echo "user exist"
else
echo "create user admin"
useradd /home/$name $name
fi
echo "change password to demo"
echo $password | passwd --stdin $name
echo "succeed"
输出如下:
实际:
用户不存在且没有创建成功
用id指令判斷豈不是比較方便?
注意你的useradd指定家目錄參數,否則是執行不成功的。
而且判斷使用者是否存在於/etc/passwd中,也可以用:
看看是否等於0。
你這用戶應該是包含了}符號的原因