Bash скрипты — обычные файлы, содержащие набор команд, выполняемых последовательно при запуске. Они позволяют автоматизировать задачи в Linux, используя ранее изученные команды (например, ls, cd).
Создание и редактирование Bash скрипта
Создайте новый файл с расширением .sh (например, мой_скрипт.sh) в нужной директории (например, Documents) с помощью текстового редактора (например, Nano).
В начале файла добавьте строку:
#!/bin/bash
Эта строка указывает системе, что файл является Bash скриптом. Без неё скрипт не будет работать.
Написание команд
После этой строки запишите команды, по одной на строке. Например:
#!/bin/bash
ls
mkdir папка
ls
touch папка/yandex.html
tree
echo "Все готово!"
Этот скрипт:
- Выводит список файлов в текущей директории (ls).
- Создаёт директорию папка (mkdir папка).
- Снова выводит список файлов (ls).
- Создаёт файл yandex.html в директории папка (touch папка/yandex.html).
- Выводит древовидную структуру директорий (tree).
- Выводит сообщение «Все готово!» (echo "Все готово!").
Сохраните файл (в Nano: Ctrl+O, затем Enter). Выход из Nano: Ctrl+X.
Выполнение Bash скрипта
Запустите скрипт командой bash, указав имя файла:
bash мой_скрипт.sh
Система выполнит все команды последовательно.
Переменные
В Bash скриптах используются переменные. Для создания переменной укажите имя, знак равенства и значение без пробелов:
#!/bin/bash
число=45
строка="Привет"
директория=$(ls)
Для вывода значения используйте echo:
echo "$строка"
echo "$директория"
Используйте двойные кавычки вокруг значения переменной при выводе. Одинарные кавычки могут привести к некорректному отображению. Для имени операционной системы используйте uname -a или переменную $0 (имя скрипта).
Ввод данных
Есть два способа получения данных от пользователя:
1. Параметры при запуске:
Передаваемые параметры доступны через переменные $1, $2 и т.д.
#!/bin/bash
a=$1
b=$2
rez=$((a + b))
echo "$rez"
Запуск: bash мой_скрипт.sh 5 8 (Результат: 13)
2. Команда read:
Команда read считывает данные с клавиатуры:
#!/bin/bash
read -p "Введите число: " num
echo "$num"
Пользователь будет запрошен ввести число.
Условные операторы (if)
Конструкция if:
#!/bin/bash
read -p "Введите число: " num
if [ "$num" -eq 5 ]; then
ls
elif [ "$num" -gt 10 ]; then
echo "Число больше 10"
else
echo "Другое число"
fi
- -eq — оператор равенства
- -gt — оператор больше чем
- fi — закрывает блок if
Циклы (for и while)
Цикл for:
#!/bin/bash
for (( i=1; i<=10; i++ )); do
echo "Элемент $i"
done
Или:
#!/bin/bash
for i in {2..5}; do
echo "Элемент $i"
done
Цикл while:
#!/bin/bash
i=0
while [ "$i" -lt 10 ]; do
echo "Элемент $i"
i=$((i + 1))
done
Функции
Конструкция для создания функций:
#!/bin/bash
делить() {
a=$1
b=$2
if [ "$b" -eq 0 ]; then
echo "error"
else
rez=$((a / b))
echo "$rez"
fi
}
делить 10 2
делить 10 0
Bash скрипты — мощный инструмент для автоматизации задач в Linux. Знание основ работы с переменными, условными операторами, циклами и функциями повысит эффективность работы с системой. Важно правильно использовать пробелы и кавычки.