Краткий ответ: в строке 10 есть ошибка. Оператор -ne для целых чисел,! = для строк.
Должен длительный ответ.
Посмотрите еще раз на ошибку message.
test.sh: line 10: [: MU: integer expression expected
Эта левая квадратная скобка - это фактически команда, которая живет на вашей файловой системе, а не синтаксический элемент, как многие ожидали бы. Как и большинство команд в * nix, у него есть справочная страница, которую вы можете проверить с помощью:
man [
, где вы найдете список всех тестов, которые он может сделать для вас:
...
STRING1 != STRING2
the strings are not equal
...
INTEGER1 -ne INTEGER2
INTEGER1 is not equal to INTEGER2
...
Обратите внимание, что [и тест - это одна и та же команда, и вы, вероятно, увидите их обоих в своей карьеры.
Сценарии оболочки могут быть очень сложными сначала, но не разочаровываться, потому что это того стоит.
Я считаю, что опция bash -x очень полезна при отладке сценариев оболочки. Когда используется, bash эхо всех команд перед их запуском.
$ bash -x test.sh
+ selected=MU
+ team=xyz
+ '[' MU = xyz ']'
+ echo 'Guess the best team:
Manchester United->MU
Arsenal ->AR
Chelsea ->CH' Guess the best team:
Manchester United->MU
Arsenal ->AR
Chelsea ->CH
+ read team MU
+ '[' MU -ne MU ']' test.sh: line 10: [: MU: integer expression expected
+ '[' MU = MU ']'
+ echo 'Correct!! Manchester united is the best' Correct!! Manchester united is the best
Эти предупреждающие сообщения можно просто игнорировать. Все хранилища, используемые для использования подписей SHA1, но было обнаружено, что у SHA1 были проблемы, и они переходят к типу подписи SHA256. Не все репозитории завершили этот переход.
Если кто-то может предоставить дополнительные технические подробности, пожалуйста, войдите в систему.
Эти предупреждающие сообщения можно просто игнорировать. Все хранилища, используемые для использования подписей SHA1, но было обнаружено, что у SHA1 были проблемы, и они переходят к типу подписи SHA256. Не все репозитории завершили этот переход.
Если кто-то может предоставить дополнительные технические подробности, пожалуйста, войдите в систему.