Обновить

Хэндлим обработку некорректного ввода в ZSH для поднятия настроения

Сегодня хочу рассказать о том, как немного разнообразить времяпрепровождение в консоли, добавив немного юмора, если ваша командная оболочка zsh.

Все, кто работает в терминале (эмуляторе терминала, чтобы меня тут не покусали в комментариях :)), думаю, периодически сталкиваются с тем, что вводят команду неправильно. Например, есть шуточная команда sl, которая рисует движущийся поезд, если вы случайно опечатались, когда хотели набрать команду ls.
Это служит некой разрядкой и поводом лишний раз улыбнуться. Вот репозиторий этой утилитки на GitHub для любознательных.

А что, если мы хотим, чтобы на ввод любой несуществующей команды, мы получали что-то аналогичное выводу команды sl? По умолчанию в ZSH в этом случае выводится сообщение “command not found”. Давайте это исправим.

Для этого нам понадобится:

  • непосредственно zsh в качестве командной оболочки;

  • cowsay - утилита командной строки, которая рисует разные фигурки, которые как бы говорят, наподобие героям комиксов.

  • lolcat - утилита для разукрашивания текста градиентом, добавления анимации и т.д.

В ZSH предусмотрена возможность переопределять поведение при возникновении каких-то ситуаций, в том числе, переопределение поведения при возникновении ошибок. В нашем случае нам нужно переопределить вывод, когда команда, вводимая пользователем не найдена. Для этого будем использовать метод command_not_found_handler. Добавим в .zshrc файл следующий код:

command_not_found_handler() {    
  cowsay -f tux "LOL! Command not found: $1" | lolcat -a -s 150
  return 127
}

Немного пояснений: первая строка будет рисовать там пингвина, говорящего, что введенная нами команда не найдена, пингвин будет появляться построчно (150 - скорость появления). Более подробно с доступными параметрами lolcat можно ознакомиться, набрав man lolcat. 127 - это код, который zsh отправляет по умолчанию, сохраним это поведение.

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

Ну вот, собственно говоря, и все. Мелкие моменты, которые нас окружают в повседневности, делают нас (по крайней мере меня) чуточку счастливее :)

Теги:
Всего голосов 2: ↑2 и ↓0+2
Комментарии2

Я попал к психиатру из‑за кодинга с AI

Со стороны программирование звучит как медитативное занятие. Сидишь себе за компом целый день, слушаешь музыку, пьешь вкусный кофе. У все меня примерно так и происходит. Сначала я не спеша пытаюсь выстроить в голове то, что требуется сделать. Именно «не спеша». И не потому что я такой опытный и мудрый, а потому что быстро я просто не умею.

У меня не получается сразу продумать все корнер кейсы, которые сильно могут повлиять на архитектуру. Я не могу быстро достать из памяти нужный паттерн, чтобы на лайвкодинге блеснуть своими знаниями. Поэтому сначала я медленно вчитываюсь в описание задачи, общаюсь с ПМом или коллегами, кто больше знает в этой доменной области, чтобы в обсуждении мой мозг начал работать в правильном направлении.

Все это звучит конечно логично, но явно 10x инженером так не стать. Да и будем честны, даже 2x тоже. В IT, где эффективность, это не один из критериев оценки сотрудника, а недостижимая цель, к которой стремятся все. Мой стиль работы — это проблема. Но благодаря появлению AI, эта проблема стала решена.

Я попал к психиатру из‑за кодинга с AI

Публикации