Серце використання регулярних виразів у Bash лежить в операторі =~. Цей оператор є використовується в операторі if для зіставлення рядка з регулярним виразом. У цьому прикладі ми маємо рядок «Регулярний вираз Bash потужний» і шаблон «потужний». Ми використовуємо оператор =~, щоб перевірити, чи містить рядок шаблон. 6 грудня 2023 р.
Порівняння рядків у bash
Оператор | призначення |
---|---|
!= | Рядкова нерівність |
< | Лексикографічне порівняння рядка (до) |
> | Лексикографічне порівняння рядка (після) |
=~ | Збіг регулярного виразу рядка |
Оператор “=~” використовується для зіставлення регулярних виразів у сценаріях оболонки. Простий приклад того самого: a=”abcd2″ if [[ $a =~ ^[a-z]*[0–9] ]]; потім.
~ насправді є частиною оператора =~ , який виконує зіставлення регулярного виразу рядка ліворуч із розширеним регулярним виразом праворуч. Зауважте, що рядок має бути взято в лапки, а регулярний вираз не має бути взято в лапки (якщо тільки ви не хочете зіставити літеральні рядки).
Різниця в тому, що розбиття слів і розширення glob не виконуються для змінних у [[…]] тому цитування змінних не є таким важливим. Крім того, [[ може виконувати зіставлення шаблону за допомогою оператора == та регулярного виразу за допомогою оператора =~.
домашній каталог користувача Тильда (~) — це «ярлик» Linux для позначення домашнього каталогу користувача. Таким чином, коса тильда (~/) є початком шляху до файлу або каталогу нижче домашнього каталогу користувача. Наприклад, для користувача01 файл /home/user01/test. файл також можна позначити як ~/test.