Итак, я довольно новый пользователь Ubuntu 20.04, и я пытался выяснить, как делать свои собственные команды. Я пытался составить команду с серией операторов if-then, чтобы выяснить, как они работают, и продолжаю получать те же ошибки. Вот код:
echo "Would you like to see the secret? (Y/N)"
read AFFIRM
if [$AFFIRM == Y]; then
echo "Alright, but first I need to ask a few questions. Ready? (Y/N)"
read AFFIRM2
if [$AFFIRM2 == Y]; then
echo "Great. First, what is the name of this computer?"
read COMNAME
if [$COMNAME == thesynthetichuman -o $COMNAME == Computer X]; then
echo "Correct! Next question: What was the name of the first user on this computer?
read USERNAME
if [$USERNAME == synthetichuman]; then
echo "Correct again! Last question: What is your favorite color?"
read FAVCOLOR
echo $FAVCOLOR >> " eh? Nice. Here is the secret!
//ascii art
?IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII????????????IIIIIIIIIIIIIIIIIIIIIIIIIIIIIII?+++
?IIIIIIIIIIIIIIIIIIIIIIIIIII????++++++++++++++????IIIIIIIIIIIIIIIIIIIIIIIIIII+++
?IIIIIIIIIIIIIIIIIIIIIIII?++++++??????????????++++++?IIIIIIIIIIIIIIIIIIIIIIII+++
?IIIIIIIIIIIIIIIIIIIIIII?+++???????????????????????++IIIIIIIIIIIIIIIIIIIIIIII+++
?IIIIIIIIIIIIIIIIIIIIIII?+??????????????????????????+?IIIIIIIIIIIIIIIIIIIIIII+++
?IIIIIIIIIIIIIIIIIIIIIII?+??????????????????????????+?IIIIIIIIIIIIIIIIIIIIIII+++
?IIIIIIIIIIIIIIIIIIIIIII?+??????++??????????++??????+?IIIIIIIIIIIIIIIIIIIIIII+++
?IIIIIIIIIIIIIIIIIIIIIII?+??????++??????????++??????+?IIIIIIIIIIIIIIIIIIIIIII+++
?IIIIIIIIIIIIIIIIIIIIIII?+??????++??????????++??????+?IIIIIIIIIIIIIIIIIIIIIII+++
?IIIIIIIIIIIIIIIIIIIIIII++??????++??????????++??????+?IIIIIIIIIIIIIIIIIIIIIII+++
?IIIIIIIIIIIIIIIIIIIIIII++??????++??????????++??????+?IIIIIIIIIIIIIIIIIIIIIII+++
?IIIIIIIIIIIIIIIIIIIIIII++??????++??????????++??????++IIIIIIIIIIIIIIIIIIIIIII+++
?IIIIIIIIIIIIIIIIIIIIIII++??????++??????????++??????++IIIIIIIIIIIIIIIIIIIIIII+++
?IIIIIIIIIIIIIIIIIIIIIII++??????++??????????++??????++IIIIIIIIIIIIIIIIIIIIIII+++
?IIIIIIIIIIIIIIIIIIIIIII++??????++??????????++??????++IIIIIIIIIIIIIIIIIIIIIII+++
?IIIIIIIIIIIIIIIIIIIIIII++??????++??????????++??????++IIIIIIIIIIIIIIIIIIIIIII+++
?IIIIIIIIIIIIIIIIIIIIIII++??????++??????????++??????+?IIIIIIIIIIIIIIIIIIIIIII+++
?IIIIIIIIIIIIIIIIIIIIIII?+??????????????????????????+?IIIIIIIIIIIIIIIIIIIIIII+++
?IIIIIIIIIIIIIIIIIIIIIIII+++??????????????????????+++IIIIIIIIIIIIIIIIIIIIIIII+++
?IIIIIIIIIIIIIIIIIIIIIIII?+++++++????????????+++++++IIIIIIIIIIIIIIIIIIIIIIIII+++
?IIIIIIIIIIIIIIIIIIIIIIIIIIII???++++++++++++++???IIIIIIIIIIIIIIIIIIIIIIIIIIII+++
?IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII+++++++++++?IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII+++
?IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII+????????++?IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII+++
?IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII+++++++++++?IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII+++
?IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII+++++++++++?IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII+++
?IIIIIIIIIIIIIIIIIII?I???III?????+++??????+++?????????????IIIIIIIIIIIIIIIIIII+++
?IIIIIIIIIIIIIII?++++++++++++++++++++++++++++++++++++++++++++?IIIIIIIIIIIIIII+++
?IIIIIIIIIIIII??++??++????????????????????????++????????++??++??IIIIIIIIIIIII+++
?IIIIIIIIIIII+??????+???????????????????????+?++?????????+????+++IIIIIIIIIIII+++
?IIIIIIIIIII?+++????+???????++++??++++????????+++????????+????+++?IIIIIIIIIII+++
?IIIIIIIIIII+++++???+???????++++++++++????????+++????????+??++??+?IIIIIIIIIII+++
?IIIIIIIIIII+???+++++?????+++???++???+++????????+????????++++???+?IIIIIIIIIII+++
?IIIIIIIIIII+?????+++???????+???++???+??????????+????????+++????+?IIIIIIIIIII+++
?IIIIIIIIIII+++++???+????????+++??+++???????????+???????++???++++?IIIIIIIIIII+++
?IIIIIIIIIII+????+++++????????++++++????????+???+?++????+++++???++IIIIIIIIIII+++
?IIIIIIIIIII+???????++??????????++??????????????+???????++??????++IIIIIIIIIII+++
?IIIIIIIIIII+???????++++??????????????????????+++?????+++???????+?IIIIIIIIIII+++
?IIIIIIIIIII++++?????+??+?????????????????????+++???+++++?????+++?IIIIIIIIIII+++
?IIIIIIIIIII+?+++????+II?++++++???????????????+++++++?II+???++??++IIIIIIIIIII+++
?IIIIIIIIIII+?????++++IIII++++++++++++++++++++++++IIIIII++??????++IIIIIIIIIII+++
?IIIIIIIIIII++??????++IIII+++?????????????++++++++IIIIII+?????+++?IIIIIIIIIII+++
?IIIIIIIIIII+++++????+IIII+++++++????????????????+IIIIII+???+++++?IIIIIIIIIII+++
?IIIIIIIIIII+???++???+IIII+++?++++++++++++++++++++IIIIII+?+++???++IIIIIIIIIII+++
?IIIIIIIIIII??????++++IIII++??????????++++++++++++IIII??++++?????IIIIIIIIIIII+++
?IIIIIIIIIIIII??I???++IIII++++???????????????????+IIII??++???IIIIIIIIIIIIIIII+++
?IIIIIIIIIIIIIIIIIIII?IIII++????????++++++++++++++IIIIII?IIIIIIIIIIIIIIIIIIII+++
?IIIIIIIIIIIIIIIIIIIIIIIII+++????????????????????+IIIIIIIIIIIIIIIIIIIIIIIIIII+++
?IIIIIIIIIIIIIIIIIIIIIIIII++++++++??????????????++IIIIIIIIIIIIIIIIIIIIIIIIIII+++
?IIIIIIIIIIIIIIIIIIIIIIIII++?????+++++++++++++++++IIIIIIIIIIIIIIIIIIIIIIIIIII+++
+?????????????????????????+++????????+++++++++??++???????????????????????????+++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
GlassGiant.com"
else
echo "Wrong!"
fi
else
echo "Wrong!"
fi
elif [$AFFIRM == N]; then
echo "Okay then. Bye!"
else
echo "Look, I had very specific instructions. Why did you ignore them? Y or N. That is it. Come on."
fi
elif [$AFFIRM == N]; then
echo "Okay then. Bye!"
else
echo "Look, I had very specific instructions. Why did you ignore them? Y or N. That is it. Come on." // I seem to be getting "unexpected EOF while looking for matching `"'" errors on lines like this.
fi
echo "Bye!"
//syntax error: unexpected end of file???
Я запутался. Ошибка EOF появляется в кажущихся случайными строках, и синтаксическая ошибка появляется несмотря ни на что. Я не понимаю, как исправить ошибки, и все мои поиски в Google до сих пор были напрасны. Может кто-нибудь помочь?
социальное дистанцирование, мне было скучно ...
были синтаксические ошибки, пропущенные кавычки, логические ошибки.
вам нужно будет пройти построчно, чтобы увидеть, что я изменил ... Я бы всегда использовал кавычки при ссылке на строки в операторах if ... в некоторых случаях вам приходилось. Используйте комментарии, когда у вас есть вложенные if ... Как уже упоминалось, турбулентность ... тестируйте по частям при устранении неполадок, я делал, пока он не сработал (я даже узнал об операторе if, разделяющем аргументы)
#!/bin/bash
echo "Would you like to see the secret? (Y/N)"
read AFFIRM
if [ $AFFIRM == "Y" ]; then
echo "Alright, but first I need to ask a few questions. Ready? (Y/N)"
read AFFIRM2
if [ $AFFIRM2 == "Y" ]; then
echo "Great. First, what is the name of this computer?"
read COMNAME
if [ "$COMNAME" == "thesynthetichuman" -o "$COMNAME" == "Computer X" ]; then
echo "Correct! Next question: What was the name of the first user on this computer?"
read USERNAME
if [ $USERNAME == "synthetichuman" ]; then
echo "Correct again! Last question: What is your favorite color?"
read FAVCOLOR
echo $FAVCOLOR "eh? Nice. Here is the secret!
?IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII????????????IIIIIIIIIIIIIIIIIIIIIIIIIIIIIII?+++
?IIIIIIIIIIIIIIIIIIIIIIIIIII????++++++++++++++????IIIIIIIIIIIIIIIIIIIIIIIIIII+++
?IIIIIIIIIIIIIIIIIIIIIIII?++++++??????????????++++++?IIIIIIIIIIIIIIIIIIIIIIII+++
?IIIIIIIIIIIIIIIIIIIIIII?+++???????????????????????++IIIIIIIIIIIIIIIIIIIIIIII+++
?IIIIIIIIIIIIIIIIIIIIIII?+??????????????????????????+?IIIIIIIIIIIIIIIIIIIIIII+++
?IIIIIIIIIIIIIIIIIIIIIII?+??????????????????????????+?IIIIIIIIIIIIIIIIIIIIIII+++
?IIIIIIIIIIIIIIIIIIIIIII?+??????++??????????++??????+?IIIIIIIIIIIIIIIIIIIIIII+++
?IIIIIIIIIIIIIIIIIIIIIII?+??????++??????????++??????+?IIIIIIIIIIIIIIIIIIIIIII+++
?IIIIIIIIIIIIIIIIIIIIIII?+??????++??????????++??????+?IIIIIIIIIIIIIIIIIIIIIII+++
?IIIIIIIIIIIIIIIIIIIIIII++??????++??????????++??????+?IIIIIIIIIIIIIIIIIIIIIII+++
?IIIIIIIIIIIIIIIIIIIIIII++??????++??????????++??????+?IIIIIIIIIIIIIIIIIIIIIII+++
?IIIIIIIIIIIIIIIIIIIIIII++??????++??????????++??????++IIIIIIIIIIIIIIIIIIIIIII+++
?IIIIIIIIIIIIIIIIIIIIIII++??????++??????????++??????++IIIIIIIIIIIIIIIIIIIIIII+++
?IIIIIIIIIIIIIIIIIIIIIII++??????++??????????++??????++IIIIIIIIIIIIIIIIIIIIIII+++
?IIIIIIIIIIIIIIIIIIIIIII++??????++??????????++??????++IIIIIIIIIIIIIIIIIIIIIII+++
?IIIIIIIIIIIIIIIIIIIIIII++??????++??????????++??????++IIIIIIIIIIIIIIIIIIIIIII+++
?IIIIIIIIIIIIIIIIIIIIIII++??????++??????????++??????+?IIIIIIIIIIIIIIIIIIIIIII+++
?IIIIIIIIIIIIIIIIIIIIIII?+??????????????????????????+?IIIIIIIIIIIIIIIIIIIIIII+++
?IIIIIIIIIIIIIIIIIIIIIIII+++??????????????????????+++IIIIIIIIIIIIIIIIIIIIIIII+++
?IIIIIIIIIIIIIIIIIIIIIIII?+++++++????????????+++++++IIIIIIIIIIIIIIIIIIIIIIIII+++
?IIIIIIIIIIIIIIIIIIIIIIIIIIII???++++++++++++++???IIIIIIIIIIIIIIIIIIIIIIIIIIII+++
?IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII+++++++++++?IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII+++
?IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII+????????++?IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII+++
?IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII+++++++++++?IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII+++
?IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII+++++++++++?IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII+++
?IIIIIIIIIIIIIIIIIII?I???III?????+++??????+++?????????????IIIIIIIIIIIIIIIIIII+++
?IIIIIIIIIIIIIII?++++++++++++++++++++++++++++++++++++++++++++?IIIIIIIIIIIIIII+++
?IIIIIIIIIIIII??++??++????????????????????????++????????++??++??IIIIIIIIIIIII+++
?IIIIIIIIIIII+??????+???????????????????????+?++?????????+????+++IIIIIIIIIIII+++
?IIIIIIIIIII?+++????+???????++++??++++????????+++????????+????+++?IIIIIIIIIII+++
?IIIIIIIIIII+++++???+???????++++++++++????????+++????????+??++??+?IIIIIIIIIII+++
?IIIIIIIIIII+???+++++?????+++???++???+++????????+????????++++???+?IIIIIIIIIII+++
?IIIIIIIIIII+?????+++???????+???++???+??????????+????????+++????+?IIIIIIIIIII+++
?IIIIIIIIIII+++++???+????????+++??+++???????????+???????++???++++?IIIIIIIIIII+++
?IIIIIIIIIII+????+++++????????++++++????????+???+?++????+++++???++IIIIIIIIIII+++
?IIIIIIIIIII+???????++??????????++??????????????+???????++??????++IIIIIIIIIII+++
?IIIIIIIIIII+???????++++??????????????????????+++?????+++???????+?IIIIIIIIIII+++
?IIIIIIIIIII++++?????+??+?????????????????????+++???+++++?????+++?IIIIIIIIIII+++
?IIIIIIIIIII+?+++????+II?++++++???????????????+++++++?II+???++??++IIIIIIIIIII+++
?IIIIIIIIIII+?????++++IIII++++++++++++++++++++++++IIIIII++??????++IIIIIIIIIII+++
?IIIIIIIIIII++??????++IIII+++?????????????++++++++IIIIII+?????+++?IIIIIIIIIII+++
?IIIIIIIIIII+++++????+IIII+++++++????????????????+IIIIII+???+++++?IIIIIIIIIII+++
?IIIIIIIIIII+???++???+IIII+++?++++++++++++++++++++IIIIII+?+++???++IIIIIIIIIII+++
?IIIIIIIIIII??????++++IIII++??????????++++++++++++IIII??++++?????IIIIIIIIIIII+++
?IIIIIIIIIIIII??I???++IIII++++???????????????????+IIII??++???IIIIIIIIIIIIIIII+++
?IIIIIIIIIIIIIIIIIIII?IIII++????????++++++++++++++IIIIII?IIIIIIIIIIIIIIIIIIII+++
?IIIIIIIIIIIIIIIIIIIIIIIII+++????????????????????+IIIIIIIIIIIIIIIIIIIIIIIIIII+++
?IIIIIIIIIIIIIIIIIIIIIIIII++++++++??????????????++IIIIIIIIIIIIIIIIIIIIIIIIIII+++
?IIIIIIIIIIIIIIIIIIIIIIIII++?????+++++++++++++++++IIIIIIIIIIIIIIIIIIIIIIIIIII+++
+?????????????????????????+++????????+++++++++??++???????????????????????????+++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
glassassnt.com"
else
echo "Wrong!" #username
fi
else
echo "Wrong!" #comname
fi
elif [ $AFFIRM2 == "N" ]; then
echo "Okay then. Bye!" #affirm2
else
echo "Look, I had very specific instructions. Why did you ignore them? Y or N. That is it. Come on."
fi
elif [ $AFFIRM == "N" ]; then
echo "Okay then. Bye!" #affirm
else
echo "Look, I had very specific instructions. Why did you ignore them? Y or N. That is it. Come on."
fi
echo "Bye!"