Основы языка Bash
Основы языка Bash
Что такое Bash
Bash — это оболочка командной строки, являющаяся стандартным интерфейсом для взаимодействия пользователя с операционной системой в семействах Unix и Linux. Термин представляет собой акроним от Bourne Again SHell, что указывает на его происхождение как улучшенной версии оригинальной оболочки Bourne shell (sh), разработанной Стивом Боурном.
Bash выполняет роль посредника между пользователем и ядром операционной системы. Пользователь вводит текстовые команды, которые интерпретируются Bash, после чего оболочка обращается к ядру ОС для выполнения необходимых операций: запуска программ, управления файлами, настройки сети или контроля процессов.
Оболочка Bash обеспечивает выполнение множества функций, выходящих за рамки простого ввода команд. Она поддерживает скриптование, позволяя объединять последовательности команд в автоматизированные программы. Язык Bash обладает собственными конструкциями управления потоком, такими как циклы, условия, функции и переменные, что делает его полноценным языком программирования.
Современный Bash реализует множество расширенных возможностей, включая историю команд, автодополнение аргументов, обработку ошибок и работу со стандартами ввода и вывода. Он является неотъемлемой частью большинства дистрибутивов Linux, а также встроен по умолчанию в macOS и Windows Subsystem for Linux (WSL).
Роль в экосистеме операционных систем
Bash выступает ключевым элементом в архитектуре операционных систем Unix и Linux. Он предоставляет пользователю интерфейс для выполнения широкого спектра задач без необходимости графической среды. В отличие от графических интерфейсов, где действия выполняются через клики мышью, Bash позволяет выполнять операции с помощью текстовых команд, что обеспечивает высокую скорость и точность выполнения.
Оболочка Bash взаимодействует с ядром операционной системы через системные вызовы. Ядро отвечает за управление ресурсами компьютера, такими как процессор, память, устройства ввода-вывода и файловая система. Bash передает запросы ядру, которое выполняет их и возвращает результат обратно в оболочку.
Важной особенностью Bash является его способность запускать внешние программы и утилиты. При вводе команды Bash ищет исполняемый файл в указанных директориях, загружает его в память и передает управление программе. После завершения работы программа возвращает код возврата, который Bash использует для определения успеха или неудачи выполнения.
Bash также управляет окружением процесса, передавая программе значения переменных окружения, такие как путь к текущей директории, домашняя директория пользователя и параметры системы. Это позволяет программам адаптироваться к конкретной среде выполнения.
Отличия от других оболочек
Существует множество оболочек командной строки, каждая из которых имеет свои особенности и область применения. Bash отличается от них рядом характеристик.
Оболочка Zsh (Z Shell) является более современной альтернативой Bash. Она включает в себя все возможности Bash и добавляет расширенные функции автодополнения, тем оформления, поддержку плагинов и улучшенную работу с массивами. Zsh часто используется продвинутыми пользователями, желающими получить больше гибкости в настройке интерфейса.
Оболочка Fish (Friendly Interactive SHell) ориентирована на простоту использования и интуитивность. Fish автоматически предлагает подсказки на основе истории команд и контекста, не требует сложной настройки конфигурационных файлов и имеет встроенную документацию. Однако Fish менее совместим со скриптами, написанными для Bash, что ограничивает его использование в автоматизации.
Оболочка Ksh (Korn Shell) была создана до появления Bash и во многом предопределила многие функции, включенные в Bash. Ksh сохраняет высокую производительность и надежность, но уступает Bash в популярности и поддержке сообщества.
Оболочка Csh (C Shell) использует синтаксис, похожий на язык C, что удобно для программистов, знакомых с этим языком. Однако Csh имеет ряд ограничений в области скриптования и обработки ошибок, что делает его менее подходящим для сложных автоматизированных задач.
Bash выделяется среди остальных оболочек своей универсальностью, совместимостью и обширной документацией. Большинство скриптов автоматизации, предназначенных для Unix-систем, пишутся именно на Bash, что делает его стандартом индустрии.
Стандарты и совместимость
Bash соответствует стандартам POSIX (Portable Operating Система Interface), что обеспечивает переносимость скриптов между различными Unix-подобными системами. POSIX определяет набор требований, которым должны соответствовать оболочки и утилиты, чтобы гарантировать их работу на разных платформах.
Несмотря на соответствие стандартам, некоторые расширения Bash, такие как массивы, глобальные замены и определенные конструкции управления потоком, являются специфичными для этой оболочки. Использование таких расширений может привести к тому, что скрипт перестанет работать в других оболочках, например, в Dash или Sh.
Для обеспечения максимальной совместимости рекомендуется использовать только те функции Bash, которые поддерживаются стандартом POSIX. Если требуется использовать специфичные расширения, следует явно указывать оболочку, в которой будет выполняться скрипт, используя директиву shebang в начале файла.
Пример директивы shebang:
#!/bin/bash
Эта строка сообщает системе, что скрипт должен быть выполнен с использованием оболочки Bash, даже если пользователь работает в другой оболочке.
Где есть Bash
Bash присутствует в большинстве современных операционных систем, работающих на базе архитектуры Unix. Его наличие является стандартом для серверных и десктопных решений, ориентированных на разработку и администрирование.
Операционная система Linux
Все дистрибутивы Linux включают Bash по умолчанию. Независимо от того, используется ли Ubuntu, Debian, Fedora, Arch Linux или любой другой дистрибутив, пользователь получает доступ к Bash сразу после установки системы.
В Linux Bash устанавливается вместе с базовыми пакетами системы. Путь к исполняемому файлу обычно находится в /bin/bash или /usr/bin/bash. Проверить наличие Bash можно, выполнив команду which bash или type bash в терминале.
Linux предоставляет максимальную свободу в настройке Bash. Пользователи могут изменять конфигурационные файлы, добавлять собственные алиасы, функции и скрипты для автоматизации рутинных задач.
Операционная система macOS
macOS, основанная на Unix, также включает Bash в качестве стандартной оболочки. Однако начиная с версии macOS Catalina (10.15), по умолчанию установлена оболочка Zsh. Тем не менее, Bash остается доступным и может быть использован при необходимости.
Пользователи macOS могут запустить Bash вручную, выполнив команду bash в терминале. Для изменения оболочки по умолчанию необходимо использовать команду chsh -s /bin/bash.
Apple активно развивает Zsh, предоставляя расширенные возможности для пользователей. Тем не менее, многие инструменты и скрипты, созданные для Linux, рассчитаны на работу с Bash, поэтому поддержка этой оболочки сохраняется.
Операционная система Windows
Windows не включает Bash по умолчанию, так как это проприетарная операционная система с собственной архитектурой. Однако компания Microsoft внедрила возможность работы с Bash через подсистему Windows Subsystem for Linux (WSL).
WSL позволяет запускать среду Linux непосредственно внутри Windows, обеспечивая полную совместимость с Bash и большинством Unix-утилит. Пользователи могут установить WSL из Microsoft Store и выбрать дистрибутив Linux, который будет использоваться в качестве основной среды.
После установки WSL пользователи получают доступ к Bash в окне терминала Windows. Это открывает возможности для разработки, тестирования и администрирования систем, использующих Unix-подобные технологии, без необходимости установки второй операционной системы.
Также существует проект Git Bash, который поставляется вместе с клиентом Git для Windows. Git Bash предоставляет упрощенную версию Bash, оптимизированную для работы с Git и другими утилитами.
Другие операционные системы
Bash доступен в некоторых версиях FreeBSD, OpenBSD и NetBSD, хотя эти системы чаще используют другие оболочки по умолчанию. Также существуют порты Bash для различных встраиваемых систем и мобильных платформ.
В мобильной экосистеме Bash может быть установлен через приложения, эмулирующие среду Linux, такие как Termux для Android или iSH Shell для iOS. Эти приложения предоставляют доступ к Bash и другим Unix-утилитам прямо на смартфоне или планшете.
Какие возможности даёт Bash
Bash предоставляет широкий спектр возможностей, которые делают его мощным инструментом для решения разнообразных задач. Ниже приведены ключевые функции и возможности оболочки.
Интерактивная работа
Bash поддерживает интерактивный режим, в котором пользователь вводит команды по одной и видит немедленный результат. Оболочка отображает приглашение (prompt), показывает текущую директорию, имя пользователя и другие сведения о состоянии системы.
Интерактивный режим включает функции редактирования командной строки, такие как навигация стрелками, удаление символов, копирование и вставка текста. Также доступна история команд, позволяющая повторять ранее введенные команды с помощью клавиш вверх/вниз или поиска по истории.
Автодополнение аргументов значительно ускоряет работу пользователя. При вводе части имени файла или команды Bash предлагает возможные варианты, которые можно выбрать с помощью клавиши Tab.
Автоматизация и скриптование
Bash позволяет создавать скрипты — текстовые файлы, содержащие последовательность команд. Скрипты выполняются последовательно, что позволяет автоматизировать рутинные задачи, такие как резервное копирование данных, установка программного обеспечения, мониторинг системы или развертывание приложений.
Язык Bash поддерживает переменные, типы данных, условные операторы, циклы, функции и обработку ошибок. Эти возможности позволяют писать сложные алгоритмы, обрабатывать данные и управлять логикой выполнения скрипта.
Пример простого скрипта:
#!/bin/bash
echo "Привет, мир!"
date
ls -la
Такой скрипт выводит приветствие, текущую дату и список файлов в текущей директории.
Работа с файловой системой
Bash предоставляет полный контроль над файловой системой. Пользователь может создавать, удалять, переименовывать, перемещать и копировать файлы и директории. Команды mkdir, touch, rm, mv, cp позволяют управлять структурой файлов.
Работа с правами доступа осуществляется с помощью команд chmod и chown. Эти команды изменяют разрешения на чтение, запись и выполнение для пользователей и групп.
Поиск файлов выполняется с помощью утилиты find, которая позволяет искать файлы по имени, типу, дате изменения и другим критериям. Обработка результатов поиска возможна с использованием конвейеров (|) и перенаправления вывода.
Управление процессами
Bash дает возможность запускать процессы, контролировать их состояние и управлять ими. Команда ps отображает информацию о запущенных процессах, а kill позволяет завершить процесс по его идентификатору (PID).
Фоновые процессы запускаются с помощью символа & в конце команды. Это позволяет выполнять длительные операции, не блокируя терминал. Управление фоновыми задачами осуществляется с помощью команд fg, bg и jobs.
Приостановка процесса выполняется с помощью комбинации клавиш Ctrl+Z, а возобновление — с помощью fg или bg.
Перенаправление ввода и вывода
Bash поддерживает перенаправление стандартного ввода (stdin), вывода (stdout) и ошибок (stderr). Символ > перенаправляет вывод команды в файл, заменяя его содержимое. Символ >> добавляет вывод к существующему файлу.
Символ < перенаправляет содержимое файла в качестве входа для команды. Конструкция 2>&1 перенаправляет поток ошибок в поток стандартного вывода.
Конвейер (|) соединяет вывод одной команды с входом другой, позволяя строить сложные цепочки обработки данных. Пример:
ps aux | grep python | wc -l
Эта команда выводит количество процессов, связанных с Python.
Расширенная обработка текста
Bash интегрируется с утилитами обработки текста, такими как grep, sed, awk, cut, sort, uniq и tr. Эти утилиты позволяют фильтровать, преобразовывать и анализировать текстовые данные.
Команда grep ищет строки, соответствующие заданному шаблону. sed выполняет поиск и замену текста. awk обрабатывает поля в строках и вычисляет результаты.
Пример использования awk:
ps aux | awk '{print $2}' | sort -n
Эта команда выводит идентификаторы процессов в порядке возрастания.
Сетевые возможности
Bash предоставляет доступ к сетевым утилитам, таким как curl, wget, ssh, scp, ping, netstat и nslookup. Эти инструменты позволяют скачивать файлы, подключаться к удаленным серверам, проверять доступность хостов и анализировать сетевую конфигурацию.
Пример подключения к удаленному серверу:
ssh user@remote-server.com
Безопасность и управление учетными записями
Bash поддерживает работу с учетными записями пользователей и групп. Команды useradd, userdel, groupadd, groupdel позволяют создавать и удалять учетные записи.
Управление паролями осуществляется с помощью команды passwd. Проверка прав доступа выполняется с помощью команды sudo, которая позволяет выполнять команды от имени другого пользователя, обычно root.
Где применяется Bash
Bash находит применение в самых разных областях IT-индустрии и за ее пределами. Его универсальность и мощь делают его незаменимым инструментом для профессионалов.
Системное администрирование
Системные администраторы используют Bash для автоматизации рутинных задач, таких как создание резервных копий, обновление программного обеспечения, мониторинг ресурсов системы и управление пользователями.
Скрипты Bash позволяют настроить автоматический запуск служб, очистку логов, проверку целостности файлов и рассылку уведомлений.
Пример скрипта для проверки свободного места на диске:
#!/bin/bash
df -h / | tail -1 | awk '{print $5}' | sed 's/%//' | {
read usage
if [ "$usage" -gt 80 ]; then
echo "Внимание! Занято более 80% места."
else
echo "Место в норме."
fi
}
Разработка программного обеспечения
Разработчики используют Bash для сборки проектов, запуска тестов, деплоя приложений и управления зависимостями. Многие инструменты разработки, такие как Make, npm, pip и docker, имеют интеграцию с Bash.
CI/CD пайплайны часто используют Bash-скрипты для выполнения этапов сборки, тестирования и развертывания.
Пример скрипта для сборки проекта на C++:
#!/bin/bash
g++ -o myapp main.cpp utils.cpp
./myapp
DevOps и автоматизация инфраструктуры
Инженеры DevOps применяют Bash для управления инфраструктурой как кодом, развертывания контейнеров, настройки сетей и мониторинга состояния систем.
Bash используется в сочетании с инструментами Ansible, Terraform и Kubernetes для автоматизации развертывания и масштабирования приложений.
Пример скрипта для развертывания Docker-контейнера:
#!/bin/bash
docker build -t myimage .
docker run -d -p 8080:80 myimage
Научные вычисления и анализ данных
Ученые и аналитики используют Bash для обработки больших объемов данных, запуска статистических моделей и визуализации результатов.
Bash позволяет легко комбинировать различные инструменты анализа, такие как R, Python, MATLAB и Excel, создавая эффективные рабочие процессы.
Пример скрипта для обработки CSV-файла:
#!/bin/bash
head -n 1 Данные.csv > output.csv
tail -n +2 Данные.csv | sort -t',' -k2 -rn >> output.csv
Обучение и образование
Bash является важным компонентом учебных курсов по информатике, программированию и системному администрированию. Студенты изучают основы работы с командной строкой, принципы автоматизации и структуру операционных систем.
Практические задания с использованием Bash помогают закрепить теоретические знания и развить навыки решения реальных задач.
Как устроена Bash
Архитектура Bash состоит из нескольких основных компонентов, каждый из которых выполняет свою функцию в процессе обработки команд.
Интерфейс пользователя
Интерфейс пользователя предоставляет возможность ввода команд и отображения результатов. Он включает приглашение (prompt), которое показывает текущее состояние системы, и буфер ввода, где пользователь печатает команды.
Промпт может быть настроен пользователем для отображения дополнительной информации, такой как имя пользователя, имя хоста, текущая директория и статус последней выполненной команды.
Пример настройки промпта:
PS1='\u@\h:\w\$ '
Эта команда устанавливает промпт в виде username@hostname:current_directory$.
Парсер команд
Парсер команд анализирует введенный текст и разбивает его на отдельные компоненты: команды, аргументы, флаги и перенаправления. Парсер учитывает кавычки, экранирование символов и специальные конструкции.
После парсинга команда передается на выполнение. Если команда является встроенной функцией оболочки, она выполняется напрямую. Если это внешний файл, Bash ищет его в директориях, указанных в переменной окружения PATH.
Выполнение команд
Выполнение команд включает несколько этапов. Сначала Bash проверяет, является ли команда встроенной функцией. Если да, он выполняет её напрямую. Если нет, он ищет исполняемый файл в директориях PATH.
После нахождения файла Bash создает новый процесс, загружает программу в память и передает ей аргументы. Программа выполняется, и Bash ждет её завершения. После завершения Bash получает код возврата и отображает результат.
Обработка переменных окружения
Переменные окружения хранят информацию о состоянии системы и пользователя. Bash использует их для настройки поведения программы, указания путей к файлам и передачи параметров.
Примеры переменных окружения:
HOME— домашняя директория пользователя;PATH— список директорий для поиска исполняемых файлов;USER— имя текущего пользователя;PWD— текущая рабочая директория.
Пользователь может просматривать и изменять переменные окружения с помощью команд echo, export и set.
Система событий и сигналов
Bash реагирует на события и сигналы, поступающие от операционной системы. Сигналы используются для уведомления процессов о различных событиях, таких как завершение работы, прерывание или изменение состояния.
Примеры сигналов:
SIGINT— сигнал прерывания (Ctrl+C);SIGTERM— сигнал завершения;SIGHUP— сигнал перезагрузки.
Bash позволяет перехватывать сигналы и выполнять определенные действия при их получении с помощью команды trap.
Как использовать и как запустить
Использование Bash начинается с запуска терминала или консоли. В зависимости от операционной системы процесс запуска может отличаться.
Запуск в Linux и macOS
В Linux и macOS откройте терминал, нажав сочетание клавиш Ctrl+Alt+T (Linux) или Command+Space (macOS) и введя "Terminal".
В окне терминала появится приглашение Bash. Можно начать вводить команды немедленно.
Для запуска Bash в новой вкладке используйте команду bash или просто нажмите Enter после приглашения.
Запуск в Windows
В Windows установите WSL или Git Bash.
Для WSL откройте PowerShell или CMD и введите wsl. После этого появится приглашение Bash выбранного дистрибутива.
Для Git Bash найдите ярлык "Git Bash" в меню Пуск и запустите его.
Первая команда
Первой командой может быть проверка версии Bash:
bash --version
Или просмотр текущей рабочей директории:
pwd
Запуск скриптов
Для запуска скрипта необходимо сделать его исполняемым и выполнить с указанием пути.
Пример:
chmod +x script.sh
./script.sh
Если скрипт содержит директиву shebang (#!/bin/bash), его можно запустить без указания оболочки:
./script.sh
Переключение между оболочками
Если по умолчанию используется другая оболочка, можно переключиться на Bash:
bash
Для выхода из Bash вернитесь в исходную оболочку командой exit.
Разновидности Bash
Существуют различные варианты и модификации Bash, адаптированные под конкретные задачи и платформы.
Стандартный Bash
Стандартный Bash — это полная версия оболочки, устанавливаемая в Linux и macOS. Он включает все функции и возможности, описанные выше.
Git Bash
Git Bash — это облегченная версия Bash, поставляемая вместе с клиентом Git для Windows. Она предназначена для работы с Git и другими утилитами в среде Windows.
Git Bash не включает все функции стандартного Bash, но достаточно полна для большинства задач разработки и администрирования.
Путь к исполняемому файлу Git Bash обычно находится в C:\Program Files\Git\bin\bash.exe.
BusyBox Bash
BusyBox Bash — это минималистичная версия Bash, используемая в встраиваемых системах и живых загрузочных носителях. Она занимает мало места и предоставляет основные функции оболочки.
BusyBox Bash не подходит для сложных скриптов, но идеален для простых задач в ограниченном окружении.
Alpine Linux Bash
Alpine Linux использует урезанную версию Bash, оптимизированную для работы в контейнерах. Она меньше по размеру и быстрее загружается, но может не поддерживать некоторые расширения.
Docker Bash
Внутри Docker-контейнеров используется версия Bash, соответствующая базовому образу. Обычно это стандартный Bash, но в легких образах может быть BusyBox Bash.
Настройка Bash
Настройка Bash позволяет персонализировать поведение оболочки и адаптировать её под индивидуальные потребности.
Конфигурационные файлы
Основные конфигурационные файлы Bash:
~/.bashrc— файл настроек для интерактивных сессий;~/.bash_profile— файл настроек для login-сессий;~/.profile— общий файл настроек;/etc/bash.bashrc— системный файл настроек.
Изменения в этих файлах применяются при каждом запуске новой сессии.
Переменные окружения
Переменные окружения настраиваются с помощью команды export:
export MY_VAR="значение"
Для просмотра всех переменных используйте команду env или printenv.
Алиасы
Алиасы позволяют создавать сокращенные имена для длинных команд:
alias ll='ls -la'
alias gs='git status'
Чтобы алиасы действовали в текущей сессии, добавьте их в ~/.bashrc и выполните source ~/.bashrc.
Функции
Функции Bash позволяют группировать команды и повторно использовать их:
say_hello() {
echo "Привет, $1!"
}
Вызов функции:
say_hello "Timur"
Тема и стиль
Тему промпта можно изменить, отредактировав переменную PS1:
PS1='\[\e[32m\]\u@\h\[\e[0m\]:\w\$ '
Это установит зеленый цвет для имени пользователя и хоста.
Команды и параметры
Bash предоставляет множество встроенных команд и внешних утилит. Каждая команда может иметь параметры (флаги), изменяющие её поведение.
Основные команды
| Команда | Описание |
|---|---|
ls | Список файлов и директорий |
cd | Изменение текущей директории |
pwd | Текущая рабочая директория |
mkdir | Создание директории |
rmdir | Удаление пустой директории |
cp | Копирование файлов |
mv | Перемещение или переименование файлов |
rm | Удаление файлов |
cat | Вывод содержимого файла |
echo | Вывод текста |
grep | Поиск шаблона в тексте |
find | Поиск файлов |
chmod | Изменение прав доступа |
chown | Изменение владельца файла |
ps | Информация о процессах |
kill | Завершение процесса |
top | Мониторинг ресурсов |
ssh | Подключение к удаленному серверу |
scp | Копирование файлов по SSH |
curl | Загрузка данных по HTTP |
wget | Скачивание файлов |
tar | Архивация файлов |
gzip | Сжатие файлов |
unzip | Распаковка архивов |
Параметры (флаги)
Параметры начинаются с дефиса - или двойного дефиса --. Они изменяют поведение команды.
Примеры:
ls -l— подробный список файлов;ls -a— показать скрытые файлы;cp -r— копировать директории рекурсивно;rm -f— принудительно удалить файл;grep -i— игнорировать регистр;find . -name "*.txt"— найти файлы с расширением .txt;chmod +x script.sh— сделать файл исполняемым;ssh -i key.pem user@host— подключение с ключом.
Специальные символы
Bash использует специальные символы для управления вводом и выводом.
| Символ | Описание |
|---|---|
; | Разделитель команд |
| ` | ` |
> | Перенаправление вывода |
>> | Добавление вывода |
< | Перенаправление ввода |
&& | Выполнить следующую команду только если первая успешна |
| ` | |
& | Запустить процесс в фоне |
? | Код возврата последней команды |
$ | Доступ к переменной |
* | Мэтч любого количества символов |
? | Мэтч одного символа |
[ ] | Класс символов |
\ | Экранирование |
"" | Двойные кавычки (расширение переменных) |
'' | Одинарные кавычки (без расширения) |
$() | Замена команды |
` | Старая замена команды |
Пример использования:
file.txt && echo "Файл найден" || echo "Файл не найден"
См. также
Другие статьи этого же раздела в боковом меню (как на странице «О разделе»). История развития оболочек представляет собой непрерывный процесс эволюции технологий. Каждая новая версия решала конкретные проблемы своих предшественников и добавляла новые возможности. Стандартные утилиты командной строки включают — Файловые операции — ls, cd, mkdir, rm, cp, mv, chmod, chown, Текстовая обработка — cat, grep, sed, awk, sort, uniq, cut, head, tail, Системная… Кавычки, точки, запятые, скобки и прочие знаки препинания. Язык Bash предоставляет богатый набор средств для управления логикой выполнения скрипта. Эти конструкции позволяют принимать решения на основе условий и повторять действия многократно. Оболочка… Встроенная команда — это функция, реализованная непосредственно внутри процесса интерпретатора командной строки. Оболочка выполняет такие команды без создания отдельного дочернего процесса. Код… Подстановка значений — это механизм, при котором оболочка заменяет имя переменной на её фактическое значение перед выполнением команды. Существует несколько способов расширения переменных, каждый из… Bash — это язык командной оболочки, который обеспечивает взаимодействие пользователя с операционной системой. Его главная сила заключается не только в выполнении отдельных команд, но и в возможности… Локальная переменная в Bash — это переменная, чья область видимости ограничена телом функции. Такая переменная не влияет на глобальные переменные с тем же именем, существующие вне функции.… Файловая система — это метод организации хранения данных на носителе информации, обеспечивающий упорядоченное размещение файлов и каталогов. Обработка ошибок в Bash базируется на нескольких основных подходах. Выбор метода зависит от контекста задачи и требований к надежности скрипта. Программа htop представляет собой улучшенную версию стандартной утилиты top. Она предлагает графический интерфейс с возможностью прокрутки списка процессов, цветового кодирования и интерактивного… Гайд по установке и настройке с написанием первой программы и её запуском.История оболочки Bash
Экосистема скриптов и автоматизации на Bash
Синтаксис и специальные символы в Bash
Ключевые слова и зарезервированные конструкции
Встроенные команды и функции оболочки
Переменные и подстановка значений
Условные операторы и циклы в Bash
Функции и локальные переменные
Работа с файлами, каталогами и процессами
Обработка ошибок и коды возврата
Популярные утилиты и примеры скриптов
Первая программа на Bash