Строка 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
Другие вопросы по тегам