Привет, тем кто заинтересовался этим вопросом. После двух дней, проведенных в войне с bash'em, я так и не смог понять. что и как делать. Суть заключается в следующим, у меня есть задание написать код в file.sh, который будет проверять пользователя по каталогу /etc/passwd, если он есть, то написать об этом, а если нет, то написать, что его нет, следовательно создать его и задать ему пароль. Дальше необходимо, чтобы была команда проверки домашнего каталога этого пользователя(/home/наш_пользователь), если она существует то написать об этом, если же нет, то создать её и назначить ей владельца в лице нашего нового юзера.
Мои проблемы которые возникли при запуске этого скрипта, кстати запускал я его через команду sudo bash file.sh. И у меня есть предположение, что это немного неправильно.
1)У меня постоянно выдает, что файла /etc/passwd нету. Хотя у меня вопрос как такое может быть, если в нем хранится информация о всех пользователях.
2)Команда с переменной пользователя не всегда работает, и я вообще не понимаю синтаксис её написания, так как стандартный вид $команда не работает, и почему так непонятно.
3)При переходе на пользователя, которого должен создать скрипт, мне выдает просто значок $ и все, предполагаю потому что ему не назначена директория.
Картинку с кодом прикладываю, пожалуйста, если кому не трудно, разберите его полностью, где ошибки есть и как их исправить, мне очень важно понять, где я неправ. И небольшая просьба объяснить это простым языком, так как даже с синтаксисом Ubuntu(Linux) я знаком плохо, уж промолчу про команды.
Вот сам код:
#!/bin/bash
user=dan
if
grep $user /etc/passwd/
then
echo "The user $user Exists"
else
echo "The user $user does not Exists"
useradd $user -m
passwd $user
fi
if
grep $user /home/$user
then
echo "The directory $user Exists"
else
echo "The directory user $user home dont Exists"
mkdir /home/$user
chown $user:$user /home/$user
fi