Мой учебный репозиторий по командной оболочке Bash.
Основан на книге «Learning the bash Shell» (Cameron Newham) и личной практике.
Цель: уверенно работать в терминале, писать надёжные скрипты и автоматизировать задачи.
- Синтаксис команд, аргументы, опции
- Навигация по файловой системе (
pwd,ls,cd) - Работа с файлами и папками (
mkdir,touch,cp,mv,rm,rmdir) - Просмотр содержимого (
cat,less,head,tail,file) - Права доступа (
chmod,chown,umask) - История команд и автодополнение
- Псевдонимы (
alias,unalias) - Получение справки (
man,help,info,whatis)
- Создание и использование переменных
- Переменные окружения и
export - Специальные переменные (
$?,$$,$_,$!,$-) - Параметры командной строки (
$0,$1,$#,$@,$*) - Подстановки: команд (
$(...)) и арифметические ($((...))) - Фигурные скобки и работа со строками (
${var%pattern}и т.д.) - Маски имён файлов (globbing:
*,?,[]) - Экранирование и кавычки (
\,',")
- Перенаправление вывода (
>,>>) - Перенаправление ввода (
<) - Перенаправление ошибок (
2>,&>) - Конвейеры (
|) и фильтры (grep,sort,wc,tr,cut) - Подстановка процессов (
<( ),>( ))
- Команда
testи её псевдоним[ ] - Улучшенные проверки
[[ ]] - Проверка файлов, строк, чисел
- Логические операторы (
&&,||,!) - Конструкция
if ... elif ... else ... fi - Конструкция
case ... esac
- Цикл
for ... in ... do ... done - Цикл
whileиuntil - Управление циклами (
break,continue) - Цикл
selectдля меню
- Создание и вызов функций
- Локальные переменные (
local) - Возврат значений (
return, echo) - Аргументы функций
- Структура исполняемого скрипта (
#!/bin/bash) - Отладка скриптов (
bash -x,set -x,set -e,shellcheck)
- Обработка сигналов (
trap) - Работа с массивами
- Ассоциативные массивы
- Here-документы и Here-строки
- Чтение ввода (
read,select) - Временные файлы (
mktemp) - Подстановки и расширения
- Оптимизация и идиомы Bash
- Мониторинг свободного места на дисках
- Утилита-шаблонизатор файлов (замена переменных)