Bash
Командная оболочка и язык сценариев. Склеивает команды в конвейеры, автоматизирует системные задачи, управляет процессами и окружением.
Explanation
| Документ | Описание |
|---|---|
| shell-language | Кавычки, подстановки, glob, коды возврата — как shell разбирает команду |
| shell-environment | Переменные окружения, PATH, dotfiles (.bashrc/.bash_profile), readline, man-страницы |
| shell-internals | Подоболочки, sourcing, exec — три модели запуска кода и их последствия |
How-to
| Документ | Описание |
|---|---|
| write-scripts | Шаблон скрипта, обработка ошибок, аргументы, mktemp, here-documents, отладка |
Reference
| Документ | Описание |
|---|---|
| text-processing | sed (замена, удаление), awk (извлечение полей), xargs (stdin → аргументы) |
Начать с нуля
Если вы только знакомитесь с shell — начните с пошагового tutorial: → 04-shell-and-scripting — переменные, условия, циклы, функции, первый скрипт
Затем изучите окружение: → shell-environment — PATH, переменные окружения, dotfiles, горячие клавиши
Быстрый старт
# Первый скрипт
cat > hello.sh << 'EOF'
#!/bin/bash
set -euo pipefail
echo "Hello, $(whoami)! Today is $(date +%A)."
EOF
chmod +x hello.sh
./hello.sh
# Полезные однострочники
ls -l | awk '{print $5, $9}' # размер и имя файлов
find . -name '*.log' -print0 | xargs -0 wc -l # строк в логах
sed -i 's/old/new/g' config.conf # замена в файлеСвязанные разделы
- index — Linux (shell работает в контексте ОС)
- backup-script — готовый скрипт бэкапа
- schedule-tasks — cron и systemd timers для запуска скриптов
- index — SSH (удалённое выполнение команд)