Здравствуйте,уважаемые участники форума!
Обращаюсь к вам с банальной и простой(казалось бы) проблемой.
Мне нужно,используя цикл (while) выполнять одну и ту же часть кода,пока значение одной из строковых переменных не будет равно 'end'
Вот мой скрипт :
=======
#/bin/sh
req=«123»
while [ $req!="666" ]
do
read req
echo «Your input:"$req
done
echo «Congratulations!Is the end of the cycle»
=========
но при вводе '666\′ цикл всё равно продолжает работать.Пробовал использовать различные типы кавычек.Цикл всё равно продолжается.И скрипт требует ввода значения.
Если кому известно,в чём у меня ошибка — дайте знать.Ответив либо в форуме,либо постучаться на Ekzorcist[собака]gmail.com.
Буду благодарен.
Спасибо.
Последние комментарии
- OlegL, 17 декабря в 15:00 → Перекличка 21
- REDkiy, 8 июня 2023 года в 9:09 → Как «замокать» файл для юниттеста в Python? 2
- fhunter, 29 ноября 2022 года в 2:09 → Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt? 6
- Иванн, 9 апреля 2022 года в 8:31 → Ассоциация РАСПО провела первое учредительное собрание 1
- Kiri11.ADV1, 7 марта 2021 года в 12:01 → Логи catalina.out в TomCat 9 в формате JSON 1
while [ $req -ne 666 ]… ну, и далее по тексту.
Советую занести в букмарки:
http://gazette.linux.ru.net/rus/articles/abs-guide/index.html
конечно спасибо,но ..«-ne» используется при сравнение чисел,а не строк.
Нас ожидает «integer expression expected»,вестимо.При попытке ввести не числовые значения.
Кто, простите, нас ожидает?!
Да, если всё-таки настаивать на сравнении именно строк, то слева и справа от знака сравнения должны быть пробелы.
«integer expression expected».Сообщение об ошибке выдаваемое интерпретатором.
«ожидается целочисленное значение».
Именно сравнение строк и нужно.Изначально.
Спасибо.Ваш совет помог.