Онлайн робочі станції OnWorks Linux та Windows

логотип

Безкоштовний онлайн-хостинг для робочих станцій

<Попередній | зміст | Наступна>

Рядкові вирази

Для оцінки рядків використовуються наступні вирази:


Таблиця 27-2: тестові рядкові вирази


Вираз істинний, якщо...

Вираз істинний, якщо...

рядок рядок не є нульовим.


зображення

-n рядок Довжина рядок більше нуля.


зображення

зображення

-z рядок Довжина рядок дорівнює нулю.

string1 = рядок2 рядок1 == рядок2

рядок1 і рядок2 рівні. Можуть використовуватися одинарні або подвійні знаки рівності, але використання подвійних знаків рівності є більш переважним.


зображення

зображення

зображення

зображення

string1 != string2 string1 та string2 не рівні. string1 > string2 string1 сортує після string2. string1 < string2 string1 сортує раніше string2.


зображення

попередження: > та < Оператори виразу повинні бути в лапках (або екрануватися зворотною косою рискою), коли вони використовуються разом тест. Якщо це не так, оболонка інтерпретує їх як оператори переспрямування з потенційно руйнівними результатами. Також зверніть увагу, що в той час як бити У документації зазначено, що порядок сортування відповідає порядку зіставлення поточної локалі, але ні. ASCII (POSIX) порядок використовується у версіях бити до 4.0 включно.


зображення


Ось скрипт, який включає рядкові вирази:



#! / бін / баш


# test-string: оцінити значення рядка ANSWER=maybe

якщо [ -z "$ВІДПОВІДЬ" ]; тоді

echo «Відповіді немає». >&2 вихід 1

fi


if [ "$ANSWER" = "так" ]; потім луна «Відповідь ТАК».

elif [ "$ANSWER" = "ні" ]; потім луна «Відповідь НІ».

elif [ "$ANSWER" = "можливо" ]; потім луна "Відповідь МОЖЕ".

ще

echo «Відповідь НЕВІДОМА».

fi

#! / бін / баш


# test-string: оцінити значення рядка ANSWER=maybe

якщо [ -z "$ВІДПОВІДЬ" ]; тоді

echo «Відповіді немає». >&2 вихід 1

fi


if [ "$ANSWER" = "так" ]; потім луна «Відповідь ТАК».

elif [ "$ANSWER" = "ні" ]; потім луна «Відповідь НІ».

elif [ "$ANSWER" = "можливо" ]; потім луна "Відповідь МОЖЕ".

ще

echo «Відповідь НЕВІДОМА».

fi


У цьому скрипті ми оцінюємо константу ВІДПОВІДЬ. Спочатку визначаємо, чи порожній рядок. Якщо це так, ми завершуємо сценарій і встановлюємо статус виходу в один. Зверніть увагу на переспрямування, яке застосовується до команди echo. Це перенаправляє повідомлення про помилку «Відповіді немає». до стандартної помилки, що є правильним для повідомлень про помилки. Якщо рядок не порожній, ми оцінюємо значення рядка, щоб побачити, чи дорівнює воно «так», «ні» чи «можливо». Ми робимо це за допомогою Еліф, що є скороченням від «Інакше якщо». З допомогою Еліф, ми можемо побудувати більш складний логічний тест.


Найпопулярніші хмарні обчислення ОС на OnWorks: