Пытаюсь создать пользователей следующим скриптом:
#!/bin/bash
set -xe
echo "> Создание пользователей"
users="user vasya petya operator1 operator2 operator3 operator4"
for userName in $users
do
echo "Проверка наличия пользователя $userName"
getent passwd $userName > /dev/null
if [[ $? -ne 0 ]] ; then
echo "Создается пользователь $userName"
# Опция --disabled-login запрещает вход пользователя до тех пор
# пока не будет задан пароль пользователю
adduser --disabled-login --gecos "Пользователь-$userName" $userName
else
echo "Пользователь уже существует"
fi
done
В результате, скрипт молча затыкается на пользователе vasya, никаких ошибок не выдает, просто завершает свою работу:
+ echo '> Создание пользователей'
> Создание пользователей
+ users='user vasya petya operator1 operator2 operator3 operator4'
+ for userName in $users
+ echo 'Проверка наличия пользователя user'
Проверка наличия пользователя user
+ getent passwd user
+ [[ 0 -ne 0 ]]
+ echo 'Пользователь уже существует'
Пользователь уже существует
+ for userName in $users
+ echo 'Проверка наличия пользователя vasya'
Проверка наличия пользователя vasya
+ getent passwd vasya
Хоть бы написал «Создается пользователь ...» или «Пользователь уже существует», но этого не происходит.
Что нужно сделать в скрипте, чтобы он заработал как задумано?