Строка 42: синтаксическая ошибка: неожиданный конец файла
Я относительно новичок в написании сценариев bash, так что со мной все в порядке, но мне нужна помощь. Я чувствую, что у меня там все правильно, но это не совсем так. Я пытаюсь сделать простой журнал безопасности в приглашении пользователя ввести имя, а затем, если упомянутое имя совпадает с одним из операторов if, он продолжит, чтобы они вводили пароль, а затем вход в систему su. "строка 42: синтаксическая ошибка: неожиданный конец файла" после ввода данных в первую строку ввода имени пользователя.
#!/bin/bash
clear
read -p "Please enter your name:" i
if [ "$i" = "Tyler" ]
then
read -p "Hello Tyler. Please enter you password now:" b
if [ "$b" = "1234567890" ]
then
echo "You really are Tyler!! Prove it again!!"
su
else
echo "WRONG ANSWER!!"
if [ "$i" = "LouRae" ]
then
read -p "Hey there beautiful. Please enter you password now:" b
if [ "$b" = "123456789" ]
then
echo "You really are LouRae!! Prove it again!!"
su
else
echo "WRONG ANSWER!!!"
if [ "$i" = "Emma" ]
then
read -p "Hello Emma. Please enter you password now:" b
if [ "$b" = "12345678" ]
then
echo "You really are Emma!! Prove it again!!"
su
else
echo "WRONG ANSWER!!!"
fi
2 ответа
Решение
Вы должны покончить с каждым if
заявление с fi
, лайк
if [ "$i" = "Tyler" ]
then
read -p "Hello Tyler. Please enter you password now:" b
if [ "$b" = "1234567890" ]
then
echo "You really are Tyler!! Prove it again!!"
su
else
echo "WRONG ANSWER!!"
fi
fi
ОБНОВЛЕННЫЙ ПИСЬМО (РАБОТАЕТ)
#!/bin/bash
clear
read -p "Please enter your name:" i
if [ "$i" = "Tyler" ]
then
read -p "Hello Tyler. Please enter you password now:" b
if [ "$b" = "1234567890" ]
then
echo "You really are Tyler!! Prove it again!!"
su
else
echo "WRONG ANSWER!!"
fi
fi
if [ "$i" = "LouRae" ]
then
read -p "Hey there beautiful. Please enter you password now:" b
if [ "$b" = "123456789" ]
then
echo "You really are LouRae!! Prove it again!!"
su
else
echo "WRONG ANSWER!!!"
fi
fi
if [ "$i" = "Emma" ]
then
read -p "Hello Emma. Please enter you password now:" b
if [ "$b" = "12345678" ]
then
echo "You really are Emma!! Prove it again!!"
su
else
echo "WRONG ANSWER!!!"
fi
fi