Перейти к содержанию

Лекция 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, вы сможете писать скрипты для решения различных задач и значительно ускорить свою работу с операционными системами.


Watch my 9mm go bang
Wa-da-da-dang, wa-da-da-da-dang