Shell-mommy: Когда терминал становится вашим личным мотиватором

22 дек 2025

Репозиторий давно не обновлялся

Последнее обновление было 11 месяцев назад.

544
20
2
11 месяцев

Знакома ли вам ситуация, когда после десятой подряд ошибки в консоли хочется просто выключить компьютер и уйти пить чай? Сухие сообщения об ошибках, бездушные exit status 1 и полное отсутствие эмоциональной поддержки могут превратить работу в терминале в настоящее испытание. Особенно это актуально, когда вы только начинаете свой путь в программировании или, наоборот, глубоко погружены в сложную отладку, где каждая неудача бьет по нервам.

Что, если бы ваш терминал мог быть не просто инструментом, а настоящим другом, который всегда готов подбодрить или похвалить? Именно такую идею воплощает в себе проект shell-mommy – уникальный bash-скрипт, призванный добавить немного тепла и человечности в суровый мир командной строки. Вдохновленный аналогичным проектом cargo-mommy для Rust, этот скрипт адаптирует концепцию эмоциональной поддержки для любой оболочки, где можно запустить bash.

Что такое Shell-mommy и зачем она нужна?

По своей сути shell-mommy – это простой, но гениальный bash-скрипт, который мониторит статус выхода (exit status) каждой выполненной вами команды. В зависимости от того, была ли команда успешной (статус 0) или завершилась ошибкой (любой другой статус), shell-mommy выдает соответствующее сообщение. Это может быть ласковая похвала за успешно выполненную задачу или нежное подбадривание, когда что-то пошло не так.

Зачем это нужно разработчику? Ответ прост: ментальное здоровье и продуктивность. Постоянное столкновение с ошибками может вызывать фрустрацию и снижать мотивацию. Маленькие порции позитивного подкрепления, даже от терминала, могут значительно улучшить настроение, снизить стресс и помочь воспринимать неудачи как часть процесса обучения, а не как личное поражение. Это как иметь личного коуча или поддерживающего родителя, который всегда рядом, но при этом не мешает работе.

Проект подойдет абсолютно всем, кто регулярно работает в командной строке: от новичков, делающих первые шаги в Linux, до опытных системных администраторов и DevOps-инженеров, чья жизнь неразрывно связана с терминалом.

Реклама

Ваш персональный мотиватор: Ключевые возможности Shell-mommy

shell-mommy – это не просто скрипт с парой фраз. Его гибкость и возможности кастомизации позволяют создать по-настоящему уникального и персонализированного помощника.

Эмоциональный отклик в реальном времени

Основная фишка shell-mommy – это мгновенная реакция на ваши действия. Выполнили команду успешно? Получите заслуженную похвалу! Столкнулись с ошибкой? Вас нежно подбодрят. Это создает ощущение диалога с терминалом, делая его менее отчужденным.

Вот как это выглядит на практике:

mommy ls
# Output: Good girl! mommy's so proud of you! ❤️

mommy this-command-does-not-exist
# Output: Just a little further, sweetie~ ❤️

Согласитесь, это гораздо приятнее, чем просто command not found или длинный трейсбек, который только усиливает чувство безысходности.

Настройка под себя: от обращений до цвета

Разработчики shell-mommy предусмотрели множество опций для персонализации. Вы можете изменить практически все, чтобы ваш терминальный помощник говорил именно так, как вам нравится:

  • SHELL_MOMMYS_LITTLE: Определяет ласковое обращение к вам. По умолчанию это "girl", но вы можете выбрать "boy", "child", "kiddo" или даже задать несколько вариантов через слэш, чтобы сообщения были разнообразнее.
    export SHELL_MOMMYS_LITTLE="герой/чемпион/солнышко"
    
  • SHELL_MOMMYS_ROLES: Позволяет изменить роль. Не хотите "mommy"? Поставьте "coach", "sensei" или даже "boss"! Это дает огромную свободу в создании нужного образа.
    export SHELL_MOMMYS_ROLES="наставник"
    
  • SHELL_MOMMYS_PRONOUNS: Устанавливает местоимения, которые shell-mommy будет использовать для себя.
  • SHELL_MOMMYS_COLOR: Меняет цвет выводимого текста. По умолчанию это нежно-розовый, но вы можете выбрать светло-голубой или любой другой цвет, поддерживаемый вашим терминалом.
    export SHELL_MOMMYS_COLOR="light blue"
    

Пример настройки и работы:

# Set custom affectionate term and pronouns
export SHELL_MOMMYS_LITTLE="kiddo"
export SHELL_MOMMYS_PRONOUNS="them"

# Use the mommy function to run a command
mommy ls

# Output:
# That's a good kiddo~ ❤️
Example

Полный контроль над репликами

Одна из самых мощных возможностей – это полный контроль над фразами, которые произносит shell-mommy. Вы можете определить свои собственные списки положительных (SHELL_MOMMYS_POSITIVE_RESPONSES) и отрицательных (SHELL_MOMMYS_NEGATIVE_RESPONSES) откликов. Это открывает простор для творчества:

  • Хотите, чтобы вас хвалил или ругал сам Сэмюэл Л. Джексон? Легко!
  • Предпочитаете цитаты из любимых фильмов или книг?
  • Или, может быть, вам нужен философский наставник, который будет делиться мудростью?

Просто создайте bash-массив с нужными фразами, и ваш терминал заговорит голосом, который выберете вы. Это позволяет сделать опыт использования shell-mommy максимально личным и уникальным.

Автоматическая поддержка после каждой команды

Чтобы не вызывать mommy вручную каждый раз, вы можете интегрировать ее прямо в свой PROMPT_COMMAND или PS1. Это означает, что сообщения будут появляться автоматически после выполнения каждой команды, делая поддержку постоянной и ненавязчивой.

export PROMPT_COMMAND="mommy \$\(exit \$?\); $PROMPT_COMMAND"
# или, если первый вариант не сработает:
export PS1="\$(mommy \$\(exit \$?\))$PS1"

Кстати, если вы используете автоматический режим, есть полезная опция SHELL_MOMMYS_ONLY_NEGATIVE=true. Она заставит shell-mommy реагировать только на ошибки, что поможет избежать излишнего "шума" при успешных командах и сфокусироваться на моментах, когда поддержка действительно нужна.

Под капотом: Как работает этот добрый дух терминала?

Секрет shell-mommy кроется в простоте и элегантности. Это обычный скрипт на bash, который использует стандартную переменную окружения $?. Эта переменная хранит статус выхода последней выполненной команды. Если $? равен нулю, команда завершилась успешно; любое другое значение указывает на ошибку.

Скрипт анализирует это значение и выбирает соответствующую фразу из заранее определенных списков (или ваших кастомных). Затем он выводит сообщение в терминал, используя заданный цвет.

Установка невероятно проста: достаточно source скрипт в вашей текущей оболочке или добавить его в .bashrc (для Bash) или .zshrc (для Zsh), чтобы shell-mommy всегда была с вами. Настройка, как мы уже видели, осуществляется через переменные окружения, что делает ее очень гибкой и доступной.

Shell-mommy в вашей повседневной работе: Практические сценарии

Помимо очевидного улучшения настроения, shell-mommy может принести реальную пользу в различных рабочих сценариях:

  • Для новичков в командной строке: Изучение новых команд и инструментов часто сопровождается ошибками. shell-mommy превращает эти ошибки из источника фрустрации в повод для мягкого подбадривания, снижая барьер входа и делая процесс обучения более приятным.
  • При сложной отладке: Когда вы часами пытаетесь найти баг, а каждая новая попытка приводит к ошибке, даже маленькое "Не расстраивайся, солнышко, у тебя все получится!" может стать тем самым импульсом, который поможет не сдаться.
  • Борьба с выгоранием: В условиях высокой нагрузки и постоянного давления, маленькие моменты позитива могут стать важным элементом профилактики выгорания. shell-mommy – это ваш личный антистресс-агент в терминале.
  • Персонализация рабочего пространства: Мы тратим огромное количество времени на настройку IDE, текстовых редакторов и тем оформления. Почему бы не сделать терминал таким же "своим", добавив в него немного индивидуальности и эмоционального комфорта?
  • Геймификация рутины: shell-mommy добавляет элемент игры в повседневные задачи. Каждая успешная команда – это маленькая победа, которую отмечает ваш терминальный помощник.

Итог: Стоит ли обзавестись своей "терминальной мамочкой"?

Если вы проводите значительную часть своего рабочего времени в терминале и цените комфорт, персонализацию и позитивный настрой, то shell-mommy – это однозначно проект, который стоит попробовать. Это не просто забавная игрушка, а продуманный инструмент, способный реально повлиять на ваше ментальное состояние и, как следствие, на продуктивность.

Простота установки, гибкость настройки и возможность полной кастомизации делают shell-mommy доступной для каждого. Позвольте своему терминалу стать не просто бездушным исполнителем команд, а источником поддержки и мотивации. Возможно, именно shell-mommy сделает ваш рабочий день чуточку светлее и приятнее. Попробуйте – и, кто знает, возможно, ваш терминал станет вашим лучшим другом!

🍪 Мы используем файлы cookie и сервис аналитики Яндекс.Метрика, чтобы сайт работал лучше. Продолжая пользоваться devtrends.ru, вы соглашаетесь с обработкой данных согласно Политике конфиденциальности.