Регулярні вирази Bash: керівництво по створенню, застосування, приклади

Синтаксичні аспекти мови “Баша”

Сценарії оболонки повинні зберігатися в текстовому форматі ASCII, створеному з використанням програми «editor», яка не вводить додаткові символи або послідовності для форматування тексту. Наприклад, редактори, які підходять для створення сценаріїв оболонки – це програми vi або Emacs, доступні в UNIX / Linux, або такі програми, як «Блокнот», TextEdit і UltraEdit в Microsoft Windows.

Хорошою практикою є вставка в перший рядок кожного сценарію Bash регулярки, послідовності «#! / Bin / bash», яка показує абсолютний шлях програми у файловій системі машини, на якій потрібно запустити скрипт. Таким чином, його можна запустити безпосередньо в командному рядку, не вказуючи ім’я файла як аргумент команди «bash».

Вказівка програми-перекладача, яка буде використовуватися операційною системою для перекладу і виконання інструкцій скрипта, надається в першому рядку самого скрипта, відразу після послідовності символів «#!». Вважається, що виконуваний файл інтерпретатора знаходиться в каталозі « / bin», але в різних системах він може бути встановлений в інших каталогах, наприклад:

  • « / usr / bin », « / usr / local / bin ».

У загальному випадку символ «#» можна писати коментар в джерелі сценарію. Будь-який символ в рядку сценарію після символу «#» ігнорується командним інтерпретатором. Фактично він часто використовується для вставки коментарів джерело сценарію для опису його роботи або для пояснення впливу конкретних команд. Як і при вставці команд в інтерактивному режимі, навіть при кодуванні скрипта, кожна інструкція програми може бути записана на окремому рядку або розбита на декілька рядків і закінчує кожну рядок, крім останньої, символом « ». Додаткові інструкції можна повідомляти в тій же рядку, використовуючи «;».

Інструкції програми можуть бути «відступом», щоб зробити вихідний код читання, але слід звернути увагу на використання прогалин. Інтерпретатор Bash «розбірливий», ніж інші інтерпретатори або компілятори, і в деяких випадках не допускається вставка довільних просторів між членами, складовими інструкції, в інших випадках використання простору має важливе значення для правильної інтерпретації інструкції.

Немає ніяких символів для розмежування блоків інструкцій, вставлених у структуру управління, наприклад, які повинні повторюватися в структурі ітеративного управління. З іншого боку, існують відповідні мовні ключові слова, які дозволяють правильно ідентифікувати початок і кінець блоку. Ці ключові слова різняться в залежності від інструкції, використовуваної для керування потоком програми. У синтаксисі прикладів “match” регулярних виразів Bash деякі символи приймають особливе значення, тобто якщо вони присутні в рядку символів або як аргумент команди, то виконують дуже точну функцію.