Покрокова інструкція зі створення скрипту оболонки в Linux

watch 1m, 3s
views 2

09:32, 05.06.2026

Зміст статті
arrow

  • Написання скрипту оболонки
  • Додавання коментарів у скрипті оболонки
  • Робота зі змінними в скриптах оболонки
  • Вказівка інтерпретатора скрипту оболонки
  • Використання операторів порівняння
  • Порівняння цілочисельних значень 
  • Порівняння цілих чисел
  • Порівняння рядків у скриптах оболонки 
  • Порівняння рядків
  • Реалізація умовних операторів  
  • Використання оператора if
  • Реалізація логіки If-Else
  • Розуміння циклів у скриптах оболонки
  • Цикл While
  • Цикл For
  • Обробка позиційних аргументів у скриптах
  • Захоплення та збереження результатів команд
  • Розуміння кодів завершення в командах оболонки

Створення скриптів оболонки — це чудовий спосіб автоматизувати завдання та ефективно виконувати команди в Linux. Цей посібник допоможе вам розпочати роботу з основ, навіть якщо ви тільки починаєте.

Написання скрипту оболонки

Щоб створити скрипт оболонки, відкрийте будь-який текстовий редактор, наприклад nano, vim або gedit

Введіть свої команди та збережіть файл із розширенням .she.

Приклад:

#!/bin/bash
echo "Hello, World!"

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

chmod +x myscript.sh

Потім запустіть його:

./myscript.sh

Додавання коментарів у скрипті оболонки

Коментарі допомагають пояснити ваш код. У скриптах оболонки коментарі починаються з #.

Приклад:

# Це коментар
echo "Запуск скрипта..."

Використовуйте коментарі, щоб зробити ваш код легшим для розуміння як для вас, так і для інших.

Робота зі змінними в скриптах оболонки

Змінні зберігають значення, які ви можете використовувати повторно.

Приклад:

name="Alice"
echo "Hello, $name"

Немає потреби оголошувати тип. Ви можете безпосередньо присвоювати значення змінній та використовувати її.

Вказівка інтерпретатора скрипту оболонки

Перший рядок у скрипті оболонки називається shebang. Він вказує системі, який інтерпретатор використовувати.

Приклад:

#!/bin/bash

Завжди включайте цей рядок на початку вашого скрипта, щоб він працював належним чином.

Використання операторів порівняння

Оператори порівняння дозволяють порівнювати значення, що корисно для прийняття рішень у скриптах.

Порівняння цілочисельних значень 

Для числових порівнянь використовуйте такі оператори:

Порівняння цілих чисел

Оператор

Опис

-eq

дорівнює

-ne

не дорівнює

-gt

більше за

-ge

більше або дорівнює

-lt

менше за

-le

менше або дорівнює



Приклад:

a=10
b=5
if [ $a -gt $b ]; then
  echo "$a більше за $b"
fi

Порівняння рядків у скриптах оболонки 

Для порівняння текстових значень (рядків) використовуйте такі оператори:

Порівняння рядків

Оператор

Опис

==

дорівнює

!=

не дорівнює

\<

менше, у алфавітному порядку ASCII

\>

більше, у алфавітному порядку ASCII

Приклад:

str1="apple"
str2="banana"
if [ "$str1" \< "$str2" ]; then
  echo "$str1 йде перед $str2 за алфавітом"
fi

Реалізація умовних операторів  

Умовні оператори дозволяють скрипту вибирати, що робити, на основі умови.

Використання оператора if

Оператор if перевіряє умову та виконує команди, якщо вона справджується.

Приклад:

if [ -e myfile.txt ]; then
  echo "Файл існує"
fi

Реалізація логіки If-Else

Ви можете використовувати else для обробки випадків, коли умова є хибною.

Приклад:

if [ -d myfolder ]; then
  echo "Папка існує"
else
  echo "Папка не існує"
fi

Ви також можете використовувати elif для додаткових умов:

if [ $a -gt $b ]; then
  echo "A більше"
elif [ $a -eq $b ]; then
  echo "A дорівнює"
else
  echo "A менше"
fi

Розуміння циклів у скриптах оболонки

Цикли дозволяють повторювати команди кілька разів. Існує два поширених цикли: while та for.

Цикл While

Цикл while виконується, поки умова є істинною.

Приклад:

count=1
while [ $count -le 5 ]; do
  echo "Count is $count"
  ((count++))
done

Цикл For

Цикл for проходить по списку або діапазону.

Приклад:

for i in 1 2 3 4 5; do
  echo "Число: $i"
done
Ви також можете обходити файли:
for file in *.txt; do
  echo "Знайдено файл: $file"
done

Обробка позиційних аргументів у скриптах

Скрипти оболонки можуть приймати аргументи з командного рядка.

Приклад:

#!/bin/bash
echo "Назва скрипта: $0"
echo "Перший аргумент: $1"
echo "Другий аргумент: $2"

Запустіть скрипт:

./myscript.sh hello world

Вихідні дані:

Назва скрипту: ./myscript.sh
Перший аргумент: hello
Другий аргумент: world

Захоплення та збереження результатів команд

Ви можете зберегти результат команди, використовуючи $(command).

Приклад:

current_date=$(date)
echo "Сьогодні $current_date"

Це зберігає вихідні дані date у змінній.

Розуміння кодів завершення в командах оболонки

Кожна команда повертає код завершення. Ви можете перевірити його за допомогою $?.

  • 0 означає успіх.
  • Будь-яке інше значення означає, що сталася помилка.

Приклад:

ls /notfound
if [ $? -ne 0 ]; then
  echo "Каталог не знайдено"
fi

Це допомагає виявляти помилки у скриптах.

Поділитися

Чи була ця стаття корисною для вас?

Популярні пропозиції VPS

-10%

CPU
CPU
4 Epyc Cores
RAM
RAM
4 GB
Space
Space
50 GB NVMe
Bandwidth
Bandwidth
Unlimited
aiKVM-NVMe 4096 Linux

16.78

При оплаті за рік

-10%

CPU
CPU
8 Xeon Cores
RAM
RAM
32 GB
Space
Space
200 GB SSD
Bandwidth
Bandwidth
Unlimited
KVM-SSD 32768 Linux

69.99

При оплаті за рік

-10%

CPU
CPU
4 Xeon Cores
RAM
RAM
2 GB
Space
Space
30 GB SSD
Bandwidth
Bandwidth
Unlimited
10Ge-KVM-SSD 2048 Linux

30.3

При оплаті за рік

-15.6%

CPU
CPU
3 Xeon Cores
RAM
RAM
1 GB
Space
Space
20 GB SSD
Bandwidth
Bandwidth
30 Mbps
DDoS Protected SSD-KVM 1024 Linux

38

При оплаті за рік

-10.1%

CPU
CPU
3 Xeon Cores
RAM
RAM
1 GB
Space
Space
40 GB HDD
Bandwidth
Bandwidth
300 Gb
KVM-HDD HK 1024 Linux

4.97

При оплаті за рік

-4.7%

CPU
CPU
3 Xeon Cores
RAM
RAM
1 GB
Space
Space
40 GB HDD
Bandwidth
Bandwidth
300 Gb
wKVM-HDD HK 1024 Windows

10.33

При оплаті за рік

-10%

CPU
CPU
6 Epyc Cores
RAM
RAM
8 GB
Space
Space
100 GB NVMe
Bandwidth
Bandwidth
Unlimited
KVM-NVMe 8192 Linux

26.35

При оплаті за рік

-16.2%

CPU
CPU
4 Xeon Cores
RAM
RAM
4 GB
Space
Space
50 GB SSD
Bandwidth
Bandwidth
60 Mbps
DDoS Protected SSD-KVM 4096 Linux

67

При оплаті за рік

-10%

CPU
CPU
6 Xeon Cores
RAM
RAM
8 GB
Space
Space
100 GB SSD
Bandwidth
Bandwidth
Unlimited
MT5 KVM 8192 Windows

29.99

При оплаті за рік

-9.7%

CPU
CPU
10 Xeon Cores
RAM
RAM
64 GB
Space
Space
300 GB SSD
Bandwidth
Bandwidth
Unlimited
wKVM-SSD 65536 Windows

138.99

При оплаті за рік

Інші статті на цю тему

cookie

Чи приймаєте ви файли cookie та політику конфіденційності?

Ми використовуємо файли cookie, щоб забезпечити вам найкращий досвід роботи на нашому сайті. Якщо ви продовжуєте користуватися сайтом, не змінюючи налаштувань, вважайте, що ви згодні на отримання всіх файлів cookie на сайті HostZealot.