строка 42: синтаксическая ошибка: неожиданный конец файла [закрыто]

Я пытаюсь сделать просто безопасный вход в систему, который предлагает пользователю ввести имя, а затем, если это имя соответствует одному из утверждений 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
1
задан 30 September 2019 в 14:31

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
3
ответ дан 3 December 2019 в 06:59

ОБНОВЛЕННЫЙ СЦЕНАРИЙ (РАБОТАЮЩИЙ)

#!/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
1
ответ дан 3 December 2019 в 06:59

Другие вопросы по тегам:

Похожие вопросы: