Як писати сценарії Bash для автоматизації Linux

Скриптове Bash — це корисна навичка, яку можна навчитися користувачеві Linux. Навіть як новачок, знання цієї навички може бути різницею між повним використанням переваг вашої машини та виконанням всього вручну. Ось чому в цій статті ми навчимо вас, як писати сценарії bash для автоматизації Linux і повністю контролювати свій робочий стіл. Ми розглянемо основи написання сценаріїв за допомогою оболонки Bash, основи створення сценаріїв, як їх запустити у вашій системі, що означають shebangs та багато іншого!

Типи сценаріїв

Існує багато різних типів скриптів. В основному: SH і BASH. Ці розширення файлів важливі, оскільки розширення файлу повідомляє інтерпретатору, як його запустити. Якщо файл є файлом SH, його можна запустити в будь-якій оболонці, а не тільки в Bash. Це означає, що сценарій, написаний для Bash на Linux, може працювати на Mac, BSD та інших місцях із подібними оболонками.

Скрипти, що використовують розширення файлу BASH, призначені для виконання лише всередині Bash. Досить сказати, що ваш скрипт із розширенням файлу bash не працюватиме в оболонці Fish у Linux чи будь-якій іншій доступній оболонці.

  Як увімкнути двофакторну аутентифікацію в Linux для входу

Shebangs

Деякі скрипти взагалі не використовують розширення файлів. Замість цього вони використовують shebang, щоб дати інтерпретатору зрозуміти, для чого призначений сценарій і як його запустити. Під час написання сценарію шебанг ЗАВЖДИ стоїть на першому місці. Якщо shebang відсутній, часто сценарій відмовляється запускатися, особливо якщо розширення файлу не використовується.

Є багато чого дізнатися про shebangs, але новачкам не варто турбуватися про них. Вони виявляються корисними лише для досвідчених користувачів Bash, які хочуть писати неймовірно складні інструменти Bash. Як початківцям, користувачам потрібно подумати лише про стандартний варіант: #!/bin/bash

Створення сценарію A Bash

Багато новачків плутають скрипти bash з реальним програмуванням. Основна мета сценаріїв у bash — об’єднати багато команд, ефективно виконуючи довгі складні речі без необхідності записувати кожну дрібницю в оболонці термінала. Якщо ви намагаєтеся серйозно програмувати на Bash, зупиніться і подумайте про реальну мову програмування, яка використовується в Linux, як-от Python.

Щоб почати, відкрийте термінал і введіть таку команду:

nano myfirstbashscript

Відкриється текстовий редактор Nano. Усередині nano додайте shebang, щоб допомогти інтерпретатору визначити, що робити зі сценарієм.

#!/bin/bash

Звідси ми можемо все! Наприклад: користувач Ubuntu може створити простий сценарій оновлення, додавши рядки:

sudo apt update;sudo apt upgrade -y

Як альтернатива, інший приклад: створіть сценарій безперервного ping для запуску у фоновому режимі, якщо вас турбує швидкість мережі.

ping google.com

Додайте до сценарію будь-які команди, які ви хочете! Будьте креативними!

  Як слухати подкасти на робочому столі Linux за допомогою CPod

Додавши те, що ви хочете до свого сценарію, збережіть його за допомогою nano за допомогою CTRL + O.

Після створення сценарію настав час оновити дозволи. У терміналі виконайте:

sudo chmod +x myfirstbashscript

Запуск скриптів

Щоб запустити сценарій оболонки, відкрийте термінал і виконайте:

sudo sh script.sh

Щоб запустити файли bash, спробуйте:

sudo bash script.bash

Крім того, будь-який скрипт, незалежно від розширення файлу, може легко запускатися з ./filename в терміналі.

Всі три способи запуску сценаріїв працюють дуже добре. З огляду на це, використання ./filename є найгіршим способом, оскільки сценарії часто не запускаються, якщо сценарій bash не має правильних дозволів. Встановіть дозволи за допомогою:

sudo chmod +x script

Зробіть свій сценарій двійковим

Щоб запустити сценарій, просто ввівши ім’я файлу в терміналі, вам потрібно зробити його двійковим. Для цього скористайтеся командою chmod, щоб зробити його виконуваним.

sudo chmod +x

Коли сценарій позначено як виконуваний, настав час перемістити сценарій, щоб він був доступним на шляху користувача. Зробіть це за допомогою команди MV. Крім того, скористайтеся командою CP замість команди move, якщо ви хочете зберегти резервну копію свого сценарію в його вихідному місці.

sudo mv /location/of/script /usr/bin/

або

sudo cp /location/of/script /usr/bin/

Потім запустіть щойно переміщений сценарій всередині терміналу з будь-якого місця, просто ввівши його назву в терміналі. Наприклад: ви використовували YouTube-DL, щоб написати сценарій автоматичного копіювання YouTube, і помістили його в /usr/bin/ для легкого доступу.

  Як грати в серію ігор Bungie Marathon на Linux

Щоб запустити зазначений сценарій, ви повинні зробити:

youtubescript

Це воно!

Висновок

Вивчення мови bash є корисним інструментом. Без цього системні адміністратори та фанати терміналів опинилися б на терміналі годинами. Замість цього вони можуть писати сценарії bash для автоматизації Linux. Навчившись використовувати можливості Bash, ви пишете всі ці складні операції та швидко запускаєте їх за допомогою сценарію.

Оболонка чудова, і чим більше ви дізнаєтеся про неї, тим більше ви дізнаєтеся про їхні власні системи Linux, як їх автоматизувати і навіть покращити роботу внутрішньої роботи! Баш – це межа неба, потрібно лише трохи творчості!