I'm trying to create different users from a csv file in bash. This my code so far:
#create arrays usernames and password
groups=(`cut -d: -f 1 "$filein"`)
usernames=(`cut -d: -f 3 "$filein" | tr [A-Z] [a-z] |awk '{print substr($1.$2}'`)
password=(`cut -d: -f 4 "$filein"`)
#creates the user accounts, adds them to groups, and sets passwords
#then once account is created
#checks if the group exists, if not then creates it
for group in ${groups[*]}
do
grep -q "^$group" /etc/group ; let x=$?
if [ $x -eq 1 ]
then
groupadd "$group"
fi
done
#creates the user accounts, adds them to groups, and sets passwords
#then once account is created
x=0
created=0
for user in ${usernames[*]}
do
useradd -n -c ${usernames[$x]} -g "${groups[$x]}" $user 2> /dev/null
chpasswd "$user" > /dev/null
if [ $? -eq 0 ]
then
let created=$created+1
fi
For some reason, when I run the file, this is the error I get, even went let me add any users groupadd: 'Q123456,Bob,Bob,QwertY1' is not a valid group name groupadd: 'Q236578,Jane,Jane,AzertY2' is not a valid group name Any help will be appreciated. Thank you