Можно и подробнее...
Задаём специальный комментарий, который является директивой для указания интерпретатора который будет задействован для интерпретации данного скрипта, в данном случае /bin/bash
#!/bin/bash
Создаём две переменные с именем пользователя и его паролем, символ ";" тут работает как в паскале
u1="John_Smith";p1=Password01
Если папка с именем ($ означает обращение к переменной) пользователя существует, то
if [ -d /home/"$u1" ];then
Выводим текст, об удалении пользователя
echo Удалить $u1 - ok
Удаляем пользователя
userdel "$u1" -f -r
Выход из скрипта
exit
Конец условия IF, пишется как IF, только наоборот

fi
Выводим текст о добавлении пользователя
echo Пользователь добавить $u1 - ok
Добавляем нового пользователя "$u1", создаём его домашний каталог /home/"$u1", указываем интерпретатор терминала для него /bin/bash, и его пароль: `mkpasswd -s -m sha-512 "$p1"` пароль хранится в виде хеш суммы, что-бы его никто не прочитал, секрет в том, что зная хеш сумму трудно узнать пароль. Кавычки `` означают что это отельная команда, которая будет выполнена отдельно, а её результат вставлен в это место, это тоже самое что и $().
useradd "$u1" -d /home/"$u1" -s /bin/bash -p `mkpasswd -s -m sha-512 "$p1"`
Создаём домашнюю папку для пользователя
mkdir /home/"$u1"
Устанавливаем пользователя, имя которого хранится в переменной u1, владельцем этой папки (также, его группу, на это пока забей)
chown "$u1":"$u1" -R /home/"$u1"
По-моему, дальше идет создание почтового файла пользователя (P.S. если у тебя есть белый IP и порт 25 открыт, ты можешь получать почту себе на ЭВМ, но пока забей)
su "$u1" -c "touch /var/mail/\"$u1\""
Когда тебя посылают читать ман, имеется ввиду мануал, например, узнать о команде echo
man echo
но это неудобно, текст в консоли утомляет.
Можешь так
yelp man:echo
Ну дальше… гугл в помощь.