Програмування на Bash можна як послідовність команд, в оболонці, які утворюють певний сценарій виконання. У контексті сценаріїв Bash ми ставимо завдання оболонці Bash і прописуємо в скриптах, що вона повинна робити.
Нижче ми розберемо основи Bash-скриптингу і торкнемося кількох окремих випадків програмування на ньому.
Що таке оболонка Bash?
У сфері IT оболонка – це програмне забезпечення, яке з'єднує користувача з комп'ютером. Оболонка дозволяє користувачеві дізнатися про систему або файли в ній або керувати системою. Оболонка зазвичай є частиною операційної системи. Існує два типи оболонок.
Командно-орієнтована оболонка, наприклад, OS X термінал.
Оболонка з графічним інтерфейсом користувача, наприклад шукач для OS X або всім знайома Windows.
Термінал є командно-орієнтованою оболонкою, тому що тут ми вводимо команди безпосередньо, а не натискаємо кнопки миші або вводимо інформацію в поля. Командно-орієнтовані оболонки також мають безліч різновидів – оболонка Bourne, Bash, оболонка Z тощо. Як стандарт на комп'ютерах Mac, термінал відкриває оболонку Bash.
Як працюють Bash-скрипти?
Будь-який сценарій Bash є простим текстовим файлом, який містить ряд команд для циклів і запитів. Вони є сумішшю команд, які ми зазвичай вводимо в командному рядку ouselves (наприклад, ls або cp) і команди, які ми могли б вводити в командному рядку, але які там не передбачені.
При виклику текстового файлу як програми команди обробляються одна за одною. Все, що ми робимо в оболонці, може бути записано в сценарії, і навпаки, сценарій може бути скопійований в оболонку і таким чином виконаний.
Файл Bash може взаємодіяти з користувачем за допомогою запитів, наприклад, для "приймайте змінні" або "приймайте рішення" за допомогою запиту "так" чи "ні". Завдяки такій взаємодії сценарії можуть бути різним цілям.
Все, що ви можете нормально запустити з командного рядка, може бути поміщене в скрипт, і воно робитиме те саме. Вважається, що файли, що є скриптами Bash, мають розширення .sh (наприклад, myscript.sh). Як ви знаєте Linux – це система без розширень, тому для роботи скрипта не обов'язково мати це розширення.
Вибір текстового редактора
Текстові редактори, встановлені вашим власним дистрибутивом Linux, переважно ідеально підходять для створення сценаріїв Bash. Вони пропонують підсвічування синтаксису, яке виділяє команди та змінні кольором і, таким чином, також вказує на орфографічні помилки.
Тільки ті, хто хоче створити BASH-скрипт під Windows, повинні додатково встановити текстовий редактор, наприклад Notepad ++. Програми командного рядка Nano і Vim також пропонують підсвічування синтаксису і практично завжди доступні в Linux.
Початок роботи
Виберіть ім'я скрипта та створіть файл
Перш ніж прописати ім'я файлу, потрібно переконатися, що воно ще не використовується. Ми це з type.
Якщо ім'я програми ще немає, type повертає «bash: type: ім'я програми: не найдено». В іншому випадку вказується шлях до існуючого файлу.
Далі можна вводити стандартні команди. Наприклад, створити окремий каталог за допомогою mkdir та змініть його за допомогою cd. Також ми використовуємо touch, щоб створити спочатку порожній файл скрипту.
mkdir ~ / файли сценаріїв
CD ~ / файли сценаріїв
touch catalog.sh
Що означають stdin, stdout та stderr?
У Bash існує три різних типи введення та виведення контенту, які називаються стандартними потоками даних. Коротка форма запису є звичайною для стандарту. Це призводить до трьох потоків даних stdin, stdout та stderr.
stdin - стандартне введення
Дані можуть бути прочитані в програми з використанням стандартного введення. Як правило, стандартне введення підключено до клавіатури. Програми отримують введення користувача через ручний запис команд.
stdout - стандартний висновок
Програми можуть виводити дані через стандартний висновок. Зазвичай це робиться за допомогою монітора. Програми надсилають тексти, що виводяться користувачеві через стандартний висновок.
stderr - стандартне виведення помилок
Стандартне виведення помилок - це другий вихідний потік даних, який виводить повідомлення про помилки та стан. Зазвичай також монітор. Стандартне виведення помилок також може бути перенаправлене окремо від стандартного виводу, щоб повідомлення про помилки не змішувалися з вихідними даними.
В результаті стандартними потоками даних можна керувати таким чином:
- перенаправити потік даних stdout у файл;
- перенаправити потік даних stderr у файл;
- перенаправити зі stdout у потік stderr;
- перенаправити зі stderr в потік stdout;
- перенаправити у файл за допомогою stderr та stdout;
- перенаправити за допомогою stderr та stdout у потік даних stdout;
- перенаправити за допомогою stderr та stdout у потік даних stderr;
Два приклади:
У наступному прикладі виведення програми – тут ls – записується у файл. В результаті команда list записує всі файли в поточному каталозі файл myfile.txt.
$ls > myfile.txt
У наступному прикладі потік даних із stderr програми - тут grep - записується у файл.
$ grep da * 2> grep-errors.txt
На жаль, у невеликій статті не можна розглянути всі особливості скриптингу на Bash. Але тепер ви уявляєте ключові особливості роботи цієї оболонки та принципи роботи з даними в ній.
Замовляйте хостинг та вибирайте домен у компанії «Хостинг Україна».
У нас якісний і надійний сервіс, зручна система управління через адмін-панель, інтелектуальні системи захисту та технічна підтримка , яка допоможе вирішити всі питання, що виникають у будь-який час доби.
Будь-який тариф нашого хостингу підійде для Wordpress. Ви можете вибрати саме той пакет, який максимально відповідає потребам вашого проекту: SSD хостинг, VPS на SSD , Cloud (хмарний) хостинг, хмарний VPS. Виділений сервер або dedicated server.
Ми розробили систему автоматичного тестування сайту, це дасть Вам можливість перевірити десятки показників та налаштувань сайту та домену. Перевірить правильність параметрів конфігураційного файлу WordPress, підключення до бази даних, налаштувань тем та модулів. Перевірить правильність налаштування параметра php_memory_limit.
Приєднуйтесь до «Хостинг Україна» і ми подбаємо про технічний бік вашого бізнесу.