Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 

Repository files navigation

🐚 Изучение Bash

Мой учебный репозиторий по командной оболочке 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

🔧 Практические проекты

  • Мониторинг свободного места на дисках
  • Утилита-шаблонизатор файлов (замена переменных)

About

Learning the bash Shell

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages