PurpleSchool — курсы программирования онлайн
  • Пути
    • Frontend React разработчик
    • Frontend Vue разработчик
    • Backend разработчик Node.js
    • Fullstack разработчик React / Node.js
    • Mobile разработчик React Native
    • Backend разработчик Golang
    • Devops инженер
    • Backend разработчик Python
  • AI для кодаНовое
  • О нас
    • Отзывы
    • Реферальная программа
    • О компании
    • Контакты
  • Иконка открытия меню
    • Сообщество
    • PurpleПлюс
    • AI Собеседование
    • AI тренажёр
    • Проекты
PurpleSchool — платформа бесплатных roadmap и курсов для разработчиков
ютуб иконка
Telegram иконка
VK иконка
VK иконка
Курсы
ГлавнаяКаталог курсовFrontendBackendFullstack
Практика
КарьераПроектыPurpleПлюс
Материалы
БлогБаза знаний
Документы
Договор офертаПолитика конфиденциальностиПроверка сертификатаМиграция курсовРеферальная программа
Реквизиты
ИП Ларичев Антон АндреевичИНН 773373765379contact@purpleschool.ru

PurpleSchool © 2020 -2026 Все права защищены

  • Курсы
    • FrontendИконка стрелки
    • AI разработкаИконка стрелки
    • BackendИконка стрелки
    • DevOpsИконка стрелки
    • MobileИконка стрелки
    • ТестированиеИконка стрелки
    • Soft-skillsИконка стрелки
    • ДизайнИконка стрелки
    Иконка слояПерейти в каталог курсов
  • Бесплатно
    • Курсы
    • JavaScript Основы разработкиPython Основы PythonCSS CSS FlexboxКарта развитияВопросы для собеседований
    • База знанийИконка стрелки
    • Новостные рассылкиИконка стрелки
  • PurpleSchool — курсы программирования онлайн
    • AI для кодаНовое
    • Сообщество
    • PurpleПлюс
    • AI Собеседование
    • AI тренажёр
    • Проекты
    Главная
    Сообщество
    [ready to use] 3 bash-скрипта для разработчика

    [ready to use] 3 bash-скрипта для разработчика

    Аватар автора [ready to use] 3 bash-скрипта для разработчика

    Роман Лобигер

    Иконка календаря12 марта 2025
    постjuniorИконка уровня junior
    Картинка поста [ready to use] 3 bash-скрипта для разработчика

    На этой неделе планируем выпустить курс по Bash и чтобы лучше познакомить вас с темой — расскажу более детально как эти скрипты применимы для разработчика. Ранее уже выпускал видео с основами. Оно поможет понять общую логику, написать базовые модули, познакомиться с синтаксисом. В этом же тексте пойдем дальше, поделюсь 3 более практически применимыми автоматизациями, которые можно копировать и вставлять в проекты.

    ⠀

    1. Автоматизация git-коммитов и пуша

    Этот скрипт проверяет, есть ли изменения в репозитории (с помощью git status --porcelain), и если они есть, автоматически выполняет git add ., делает коммит с сообщением (либо переданным параметром, либо с отметкой времени) и пушит изменения на удалённый сервер. Можно расширить скрипт и принимать описание фичи, тип - баг или фича и формировать текст согласно соглашению о коммитах.

    Шаблон:

    #!/bin/bash
    
    # Проверяем, является ли текущая директория Git-репозиторием
    if [ ! -d .git ]; then
        echo "Ошибка: Данный каталог не является git-репозиторием."
        exit 1
    fi
    
    # Проверяем наличие изменений
    if [ -z "$(git status --porcelain)" ]; then
        echo "Нет изменений для коммита."
        exit 0
    fi
    
    # Добавляем все изменения в индекс
    git add . || { echo "Ошибка при выполнении git add"; exit 1; }
    
    # Формируем сообщение коммита
    MESSAGE=${1:-"Auto-commit on $(date)"}
    
    # Создаем коммит
    git commit -m "$MESSAGE" || { echo "Ошибка при выполнении git commit"; exit 1; }
    
    # Отправляем изменения в удалённый репозиторий
    git push || { echo "Ошибка при выполнении git push"; exit 1; }
    
    echo "Изменения успешно отправлены."

    ⠀

    2. Автоматический бэкап проекта

    Скрипт архивирует текущую директорию запуска, добавляя к имени файла отметку времени. Архив размещается на уровне выше текущий папки. Идеален для регулярного резервного копирования как на локальных машинах, так и на серверах. Директорию можно передать как аргумент.

    Шаблон:

    #!/bin/bash
    
    # Если передан аргумент, используем его как директорию проекта, иначе используем текущую директорию
    PROJECT_DIR="${1:-$(pwd)}"
    
    # Указываем директорию для сохранения архива (на уровень выше текущей директории)
    BACKUP_DIR="$(dirname "$PROJECT_DIR")/backups"
    
    # Создаем директорию для бэкапов, если она не существует
    mkdir -p "$BACKUP_DIR"
    
    # Создаем метку времени для уникального имени файла
    DATE=$(date +"%Y-%m-%d_%H-%M-%S")
    
    # Формируем имя файла архива с учетом метки времени
    BACKUP_FILE="$BACKUP_DIR/backup_$DATE.tar.gz"
    
    # Создаем сжатый архив (tar.gz) указанной директории
     tar --exclude="$BACKUP_DIR" -czf "$BACKUP_FILE" "$PROJECT_DIR"
    
    echo "Бэкап проекта создан: $BACKUP_FILE"

    ⠀

    3. Массовый поиск и замена текста

    Здесь с помощью find и sed происходит рекурсивный поиск файлов в указанной директории и замена заданного текста на новый. Это отличный скрипт для массового рефакторинга, корректировки конфигураций или очистки кода, когда вручную менять каждое вхождение просто невозможно.

    Шаблон:

    #!/bin/bash
    # Проверяем, что переданы три аргумента: директория, искомый текст и текст замены
    if [ "$#" -ne 3 ]; then
        echo "Использование: $0 <директория> <искомый_текст> <заменяемый_текст>"
        exit 1
    fi
    
    # Присваиваем переменным значения аргументов
    DIRECTORY=$1
    SEARCH_TEXT=$2
    REPLACE_TEXT=$3
    
    # Ищем все файлы в указанной директории и выполняем замену текста с помощью sed
    find "$DIRECTORY" -type f -exec sed -i "s/$SEARCH_TEXT/$REPLACE_TEXT/g" {} +
    echo "Замена завершена."
    

    ⠀

    Мой пример

    Основная задача таких скриптов — минимизация повторяющихся действий, которые отнимают время. У меня самого есть около десяти небольших скриптов, которые автоматизируют рутинные задачи:

    • Массовое сжатие видео

    • Бэкап курсов

    • Конвертация изображений

    • Бэкап и восстановление данных PostgreSQL локально для тестирования

    • Быстрый поиск больших видеофайлов, которые занимают место

    • Очистка node_modules в проектах, над которыми давно не работал

    ⠀

    С чего начать

    В целом, чтобы уже сегодня поставить на службу первые скрипты — достаточно посмотреть видео по основам и скопировать скрипты из этого поста как шаблон, доработать их под себя.

    🔥 Если готовы внедрять — от меня бонусная поддержка.

    Появятся вопросы — пишите в комментариях под этим постом в телеграме, по основным моментам буду отвечать, помогать сегодня и завтра.

    Иконка глаза1 407

    Постройте личный план изучения Bash скрипты до уровня Middle — бесплатно!

    Bash скрипты — часть карты развития DevOps

    • step100+ шагов развития
    • lessons30 бесплатных лекций
    • lessons300 бонусных рублей на счет

    Бесплатные лекции

    Лучшие курсы по теме

    изображение курса

    Docker и Ansible

    Антон Ларичев
    AI-тренажерыAI-тренажеры
    Гарантия
    Бонусы
    иконка звёздочки рейтинга4.7
    3 999 ₽ 6 990 ₽
    Подробнее
    изображение курса

    Kubernetes и Helm

    Антон Ларичев
    AI-тренажерыAI-тренажеры
    Гарантия
    Бонусы
    иконка звёздочки рейтинга4.8
    3 999 ₽ 6 990 ₽
    Подробнее
    изображение курса

    Микросервисы

    Антон Ларичев
    Гарантия
    Бонусы
    иконка звёздочки рейтинга4.8
    3 999 ₽ 6 990 ₽
    Подробнее

    Похожие статьи

    Картинка поста Как войти в Codex из России: ChatGPT или API-ключ
    Иконка аватараАнтон
    Иконка календаря18 октября 2026
    AI-инструментыapiразработкаjuniorИконка уровня junior

    Как войти в Codex из России: ChatGPT или API-ключ

    В Codex есть два штатных способа входа: через аккаунт ChatGPT (`codex login`) и по API-ключу OpenAI (`codex login --with-api-key`). Из России оба закрыты: OpenAI не поддерживает Россию, регистрация из неподдерживаемой страны отклоняется, а ключ API нужно оплачивать зарубежной картой. Но входить в Codex не обязательно. Если указать в `~/.codex/config.toml` свой модельный провайдер с ключом из переменной окружения, Codex работает без аккаунта OpenAI вообще. Такой ключ с оплатой в рублях даёт AI для кода от PurpleSchool.

    Иконка чипа0
    Иконка глаза46
    Иконка комментариев0
    Картинка поста Сколько стоит Cursor в 2026 и как оплатить из России
    Иконка аватараАнтон
    Иконка календаря17 октября 2026
    AI-инструментыAnthropicapijuniorИконка уровня junior

    Сколько стоит Cursor в 2026 и как оплатить из России

    С 12 октября 2026 года Cursor продаётся в составе The X Subscription — общей подписки на Grok, Cursor и X Premium. Тарифы такие: Free — бесплатно, Plus — $8 в месяц, Premium — $30, Super — $100, Ultra — $200. Модели Claude и GPT в Cursor доступны только с Premium и оплачиваются отдельно, по ценам API. Из России оплатить подписку российской картой нельзя, а модели Claude и GPT Cursor не отдаёт в регионах, которые блокируют их провайдеры. Рабочая схема для России — бесплатный Cursor как редактор и агент Claude Code внутри него с ключом AI для кода от PurpleSchool от 499 ₽ в месяц.

    Иконка чипа0
    Иконка глаза82
    Иконка комментариев0
    Картинка поста Claude без VPN в России: как пользоваться в 2026
    Иконка аватараАнтон
    Иконка календаря16 октября 2026
    AnthropicAI-инструментыClaude CodejuniorИконка уровня junior

    Claude без VPN в России: как пользоваться в 2026

    Сайт claude.ai и приложения Claude из России без VPN не работают: Anthropic не включает Россию в список поддерживаемых регионов и закрывает доступ и к чату, и к API. Без VPN Claude доступен одним способом — через API-посредника, который сам обращается к Anthropic из поддерживаемой страны, а вам выдаёт ключ с оплатой в рублях. Так работает AI для кода от PurpleSchool: ключ подключается к Claude Code, VS Code, Cursor и другим инструментам разработчика, а также к вашему собственному коду. Окно чата как на claude.ai такой способ не даёт — это доступ к модели, а не к сайту.

    Иконка чипа0
    Иконка глаза260
    Иконка комментариев0
    Иконка чипа0

    Комментарии

    1
    Иконка аватара
    Сергей Ткаченко

    12.03.2025

    Добавить кнопку копировать для примеров программ.)