Онлайн-рабочие станции OnWorks Linux и Windows

Логотип

Бесплатный хостинг в Интернете для рабочих станций

<Предыдущая | Содержание: | Следующая>

Строковые выражения

Следующие выражения используются для оценки строк:


Таблица 27-2: Выражения тестовой строки


Выражение истинно, если ...

Выражение истинно, если ...

string string не равно нулю.


изображение

-n string Длина string больше нуля.


изображение

изображение

-z string Длина string это ноль.

string1 = строка2 строка1 == строка2

строка1 и строка2 равны. Могут использоваться одинарные или двойные знаки равенства, но использование двойных знаков равенства предпочтительнее.


изображение

изображение

изображение

изображение

string1 != string2 string1 и string2 не равны. string1 > string2 string1 сортирует после string2. string1 < string2 string1 сортирует до string2.


изображение

Предупреждение: > и < операторы выражения должны быть заключены в кавычки (или экранированы обратной косой чертой) при использовании с тестXNUMX. В противном случае они будут интерпретироваться оболочкой как операторы перенаправления с потенциально разрушительными результатами. Также обратите внимание, что хотя колотить в документации указано, что порядок сортировки соответствует порядку сборки текущей локали, но не соответствует. Порядок ASCII (POSIX) используется в версиях колотить до 4.0 включительно.


изображение


Вот сценарий, который включает строковые выражения:



#! / Bin / Баш


# test-string: оценить значение строки ANSWER = возможно

если [-z "$ ОТВЕТ"]; тогда

echo "Нет ответа." > & 2 выход 1

fi


если ["$ ANSWER" = "да"]; затем повторите эхо «Ответ ДА».

elif ["$ ANSWER" = "нет"]; затем повторите эхо «Ответ - НЕТ».

elif ["$ ANSWER" = "возможно"]; затем эхо «Ответ МОЖЕТ БЫТЬ».

еще

echo "Ответ НЕИЗВЕСТНЫЙ."

fi

#! / Bin / Баш


# test-string: оценить значение строки ANSWER = возможно

если [-z "$ ОТВЕТ"]; тогда

echo "Нет ответа." > & 2 выход 1

fi


если ["$ ANSWER" = "да"]; затем повторите эхо «Ответ ДА».

elif ["$ ANSWER" = "нет"]; затем повторите эхо «Ответ - НЕТ».

elif ["$ ANSWER" = "возможно"]; затем эхо «Ответ МОЖЕТ БЫТЬ».

еще

echo "Ответ НЕИЗВЕСТНЫЙ."

fi


В этом скрипте мы оцениваем константу ОТВЕТ. Сначала мы определяем, пуста ли строка. Если это так, мы завершаем скрипт и устанавливаем статус выхода равным единице. Обратите внимание на перенаправление, применяемое к команде echo. Это перенаправляет сообщение об ошибке «Нет ответа». к стандартной ошибке, что является правильным при работе с сообщениями об ошибках. Если строка не пуста, мы оцениваем значение строки, чтобы увидеть, равно ли оно «да», «нет» или «возможно». Мы делаем это с помощью Элиф, что является сокращением от «иначе, если». Используя Элиф, мы можем построить более сложный логический тест.


Лучшие облачные вычисления для ОС в OnWorks: