Теперь, независимо от того, что я делаю, он всегда говорит, что даже если он не работает, это помогает мне отладить код, пожалуйста. кроме того, в ней 44 строки текста и в строке 45 также искусство ascii - просто собака, хотя это может показаться странным, поскольку мы находимся в меньшей области.
#!/bin/bash
clear
echo "Hello Sir How are you? These are some of my features
date
picture"
read word
if [ $word = picture ]
echo "These are the following pictures I have at my disposel:
Dog"
if [ $word = date ]
w
fi
read word
if [ $word = dog ]
fi
echo "
__,-;;;\
/;;;;;;;;;;;;;;;/ l \ヽ | /___
/;;;;;;;;;;;;;;/ ヽ;;;;;;\
ヽ;;;;;;;;;;;ノ |;;;;;;;;;;;l
/ ̄~~ |;;;;;;;;;;;;l
フ ○ \;;;;;ノ
,-~~ ○ ヽ,,,,,,,,,,,,,,、 , , ,
~/ ● \,;;;;;;;;;;;;;;;;;;,V;;;;;;;;;゙,
l_,,, >,;;;;;;;;;;;;;;;;;;;;;;ヽ;;;;;;;,゙
|/l /l , ヽ |ヽl,;;;;;;;;;;;;;;;;;;;;;;;;;;;;i- ''
Y V ヽllノ レ ヽ)V;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;j
゙, ' ' ' ' ' ' ,',,'
゙, ヽ-,,,,,,,,゙, ゙ ゙
゙, ゙, ,゙ ゙ ゙,゙゙゙゙゙, .,゙
゙, ,゙ ゙,,,゙, ゙, ゙, ,l
゙' ' ' ' ' ' ゙' ' ' ' ' ' ゙' ' ' ' ' "
Ошибка, которую Вы получаете, состоит в том, потому что удар ищет конец if
блок и не может найти его перед концом файла, вот почему ошибка для строки 45.
Теперь, у Вас есть различные синтаксические ошибки, в первую очередь, if
, блок похож на это:
if [ test something ]
then
do something
fi
ключевые слова then
и fi
необходимы. Затем необходимо заключить в кавычки переменные и строки в [ ]
тестовая конструкция, и необходимо также знать, что сценарий повредится на пробелах и неожиданном входе.
А рабочая версия Вашего сценария была бы:
#!/bin/bash
clear
echo "Hello Sir How are you? These are some of my features
date
picture"
read word
if [ "$word" = "picture" ]
then
echo "These are the following pictures I have at my disposel:
Dog"
fi
if [ "$word" = "date" ]
then
w
fi
read word
if [ "$word" = "dog" ]
then
echo "
__,-;;;\
/;;;;;;;;;;;;;;;/ l \ヽ | /___
/;;;;;;;;;;;;;;/ ヽ;;;;;;\
ヽ;;;;;;;;;;;ノ |;;;;;;;;;;;l
/ ̄~~ |;;;;;;;;;;;;l
フ ○ \;;;;;ノ
,-~~ ○ ヽ,,,,,,,,,,,,,,、 , , ,
~/ ● \,;;;;;;;;;;;;;;;;;;,V;;;;;;;;;゙,
l_,,, >,;;;;;;;;;;;;;;;;;;;;;;ヽ;;;;;;;,゙
|/l /l , ヽ |ヽl,;;;;;;;;;;;;;;;;;;;;;;;;;;;;i- ''
Y V ヽllノ レ ヽ)V;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;j
゙, ' ' ' ' ' ' ,',,'
゙, ヽ-,,,,,,,,゙, ゙ ゙
゙, ゙, ,゙ ゙ ゙,゙゙゙゙゙, .,゙
゙, ,゙ ゙,,,゙, ゙, ゙, ,l
゙' ' ' ' ' ' ゙' ' ' ' ' ' ゙' ' ' ' ' "
fi
Примечание, что у Вас все еще есть проблемы проектирования, это не правильно написанный сценарий кроме не обработки никаких ошибок, Вы также не выходите, если какой-либо выбор вводится, что означает, что, неважно, что я делаю, я в конечном счете доберусь до печати собаки. Даже если я вхожу date
, Вы могли бы хотеть добавить [приблизительно 118] вызовы там.
Вы отсутствовали fi
здесь, и я очистил его немного (например, распоряжение) -
if [ "$word" = "picture" ]; then
echo "These are the following pictures I have at my disposal: Dog"
fi # <-- Right there.