Створення скриптів на Bash – це цінна навичка для користувачів Linux. Навіть початківці, оволодівши цим вмінням, зможуть повноцінно використовувати можливості своєї операційної системи, автоматизуючи рутинні завдання. Ця стаття навчить вас писати bash-скрипти для автоматизації процесів у Linux, надаючи повний контроль над робочим середовищем. Ми розглянемо основи скриптування в оболонці Bash, структуру скриптів, способи їх запуску, призначення shebangs та багато іншого.
Різновиди скриптів
Існує декілька типів скриптів, зокрема SH та BASH. Розширення файлу є важливим, оскільки воно вказує інтерпретатору, як запускати скрипт. Файли з розширенням SH можна запускати в будь-якій оболонці, а не тільки в Bash. Це забезпечує сумісність скриптів, написаних для Bash на Linux, з іншими системами, такими як Mac та BSD, де використовуються подібні оболонки.
Скрипти з розширенням BASH призначені для виконання виключно в оболонці Bash. Скрипт з таким розширенням не буде працювати в оболонці Fish в Linux або в будь-якій іншій альтернативній оболонці.
Що таке Shebangs?
Деякі скрипти не використовують розширення файлів, а застосовують shebang для визначення типу скрипту та способу його запуску. Shebang завжди розміщується на початку файлу скрипту. Відсутність shebang може призвести до відмови запуску скрипту, особливо якщо не вказано розширення файлу.
Shebangs – це досить широка тема, але для початківців достатньо знати про стандартний варіант: #!/bin/bash. Інші складні варіанти використовуються досвідченими користувачами для створення більш складних інструментів.
Створення Bash-скрипту
Початківці часто плутають скрипти Bash з повноцінним програмуванням. Головна мета скриптів Bash – це об’єднання декількох команд для ефективного виконання складних завдань без необхідності ручного введення кожної окремої команди в терміналі. Якщо ви націлені на серйозне програмування, варто розглянути повноцінні мови програмування, такі як Python, які широко використовуються в Linux.
Для початку відкрийте термінал і введіть команду:
nano myfirstbashscript
Відкриється текстовий редактор Nano. У ньому додайте shebang, щоб інтерпретатор правильно ідентифікував скрипт.
#!/bin/bash
Тепер можна додавати потрібні команди! Наприклад, користувач Ubuntu може створити простий скрипт для оновлення системи, додавши рядки:
sudo apt update;sudo apt upgrade -y
Або створити скрипт для безперервного ping-ування для відстежування швидкості мережі:
ping google.com
Додавайте до скрипту будь-які необхідні вам команди. Творіть!
Збережіть скрипт в nano, натиснувши CTRL+O.
Після створення скрипту необхідно оновити його дозволи. У терміналі введіть:
sudo chmod +x myfirstbashscript
Запуск скриптів
Щоб запустити скрипт оболонки, відкрийте термінал і введіть:
sudo sh script.sh
Для запуску bash-файлів використовуйте:
sudo bash script.bash
Також, будь-який скрипт, незалежно від розширення, можна запустити командою ./filename в терміналі.
Всі три способи запуску працюють. Проте використання ./filename є найменш надійним, оскільки скрипти можуть не запуститися, якщо вони не мають відповідних прав доступу. Щоб надати права, скористайтеся:
sudo chmod +x script
Перетворення скрипту на виконуваний файл
Щоб мати можливість запускати скрипт просто ввівши його ім’я в терміналі, потрібно зробити його виконуваним. Для цього використовуйте команду chmod.
sudo chmod +x
Зробивши скрипт виконуваним, перемістіть його до каталогу, доступного з будь-якої точки вашої системи. Використовуйте команду MV, а якщо хочете зберегти резервну копію скрипту, використайте команду CP.
sudo mv /location/of/script /usr/bin/
або
sudo cp /location/of/script /usr/bin/
Після цього ви зможете запустити скрипт, просто ввівши його ім’я в терміналі. Наприклад, якщо ви створили скрипт для автоматичного копіювання відео з YouTube і розмістили його в /usr/bin/ під назвою youtubescript, запустіть його командою:
youtubescript
Все готово!
Підсумки
Оволодіння мовою Bash – це дуже корисний інструмент. Системні адміністратори та досвідчені користувачі Linux можуть заощаджувати час, автоматизуючи рутинні завдання за допомогою Bash-скриптів. Використання Bash дозволяє об’єднати складні операції в єдиний скрипт і запускати його одним кліком.
Оболонка – це потужний інструмент. Чим більше ви дізнаєтеся про неї, тим краще будете розуміти власну систему Linux, можливості її автоматизації та внутрішню роботу. Bash відкриває безмежні можливості для творчості та оптимізації роботи.