Лекция 15: Основы Bash
"В своей жизни я доверяю только двум людям: себе и... себе"
Введение в Bash
Bash (Bourne Again Shell) — это командная оболочка, используемая в UNIX-подобных системах. Это язык сценариев, который позволяет автоматизировать задачи и эффективно взаимодействовать с операционной системой через текстовые команды.
Почему важно изучать Bash?
- Автоматизация рутинных задач: резервное копирование, работа с файлами и директориями.
- Администрирование систем.
- Возможность написания сценариев для быстрого выполнения команд.
Простой пример использования Bash:
#!/bin/bash
echo "Hello, World!"
Переменные в Bash
Переменные в Bash используются для хранения данных. Они создаются автоматически при присваивании значения.
Пример создания переменной:
#!/bin/bash
name="Иван"
echo "Привет, $name!"
Типы переменных:
- Глобальные — доступны во всей программе.
- Локальные — доступны только внутри функций (для создания локальных переменных используется ключевое слово
local
).
Функции и области видимости переменных
Функции в Bash позволяют группировать команды и переиспользовать их. Они поддерживают локальные и глобальные переменные.
Пример функции с локальной и глобальной переменной:
#!/bin/bash
my_function() {
local local_var="Локальная переменная"
global_var="Глобальная переменная"
echo $local_var
}
my_function
echo $global_var # Будет доступна, так как глобальная
Условия
Условия позволяют выполнять разные блоки команд в зависимости от заданных условий.
Пример конструкции if-else
:]
#!/bin/bash
read -p "Введите число: " num
if [ $num -gt 10 ]; then
echo "Число больше 10."
else
echo "Число меньше или равно 10."
fi
Операторы сравнения:
-eq
— равно-ne
— не равно-lt
— меньше-gt
— больше
Циклы
Циклы позволяют повторять команды несколько раз.
Пример цикла for
:
#!/bin/bash
for i in {1..5}; do
echo "Цикл номер $i"
done
Пример цикла while
:
#!/bin/bash
counter=1
while [ $counter -le 5 ]; do
echo "Счётчик: $counter"
((counter++))
done
Математические операции
Bash поддерживает базовые арифметические операции.
Пример арифметики:
#!/bin/bash
a=5
b=3
sum=$((a + b))
echo "Сумма: $sum"
Другие арифметические операции:
+
— сложение-
— вычитание*
— умножение/
— деление%
— остаток от деления
Для операций с плавающей запятой используйте команду bc
:
echo "scale=2; 5 / 3" | bc
Работа с внешними программами при написании shell-скриптов
Bash позволяет взаимодействовать с внешними программами и перенаправлять потоки ввода и вывода.
Перенаправление потоков:
>
— перезапись в файл>>
— добавление в файл2>
— запись ошибок в файл
Пример перенаправления:
ls -l > output.txt 2> errors.txt
Конвейеры (pipelines): Комбинируют команды, передавая результат одной команды в другую.
ls -l | grep "bash" | sort > sorted_list.txt
Заключение
Bash — это мощный инструмент для работы с командной строкой и автоматизации задач. Освоив основы Bash, вы сможете писать скрипты для решения различных задач и значительно ускорить свою работу с операционными системами.