Мне нужно автоматически создать пользователя, прочитав строки файла, который содержит имя пользователя, домашний каталог и полное имя.
Я новичок в написании сценариев оболочки Bash, и это меня очень смущает.
Что-то не так с моей командой adduser. Выдает ошибку - adduser: разрешено только одно или два имени.
следующий полный скрипт -
while read line;
do
fieldnumbers=$(echo $line | grep - o " " | wc - l)
username=$(echo $line | cut -d' ' -f 1)
home=$(echo $line | cut -d' ' -f 2)
firstname=$(echo $line | cut -d' ' -f 3)
if [[ "$fieldnumbers" -eq b4 ]]
then
middlename=""
else
middlename=$(echo $line | rev | cut -d' ' -f 2)
lastname=$(echo $line | rev | cut -d' ' -f 1)
password=$(echo pwgen 7 1) #create random password
fullname="$firstname $middlename $lastname"
echo "username is : $username"
sudo adduser --gecos $fullname --disabled-password --home $home $username
echo 'username:$password' | chpasswd
echo "Password is for $username is: $password"
done < users.txt
Я уверен, что этот скрипт пронизан синтаксическими ошибками. Пожалуйста помоги. мой мозг жарен.