Shell-mommy: Когда терминал становится вашим личным мотиватором
Репозиторий давно не обновлялся
Последнее обновление было 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~ ❤️
Полный контроль над репликами
Одна из самых мощных возможностей – это полный контроль над фразами, которые произносит 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 сделает ваш рабочий день чуточку светлее и приятнее. Попробуйте – и, кто знает, возможно, ваш терминал станет вашим лучшим другом!
