Содержание
TLDR
# Для macOSbrew install thefuck
# Для Archsudo pacman -S thefuckГде-то в .bashrc, .zshrc:
eval $(thefuck --alias)Шта
Я наткнулся относительно недавно на статью, в которой автор говорил о важности маленьких инструментов или «трюков», из которых состоит работа IT-шника. Будь то вспомогательные штуки вроде fzf, или скрипты, которые надо быстро дёрнуть для починки или проверки микросервисов на работе.
Мне очень близка эта мысль. Так у меня у самого полно каких-то alias-ов, которые каждый день помогают что-то делать быстро, например, один из самых частых - это gen_uuid:
gen_uuid() { python3.11 -c "import uuid; print(uuid.uuid4())"}
alias uuid="gen_uuid"Очень удобно, когда где-то в API надо что-то протестировать и нужен рандомный UUID, а не как у xkcd:
Вообще приколы с python -c очень удобны, чтобы выносить 1-2 строки кода на питоне, а не сохранять где-то целый скрипт, чтобы его потом вызывать. Хотя может это и правильный подход. Те же модели Anthropic постоянно предлагают портянку кода через этот python -c, только в их случае всё это еще и обрамляется целой тонной экранирований, из-за чего порой просто нереально читать. В общем, как и всегда - с большой силой приходит большая ответственность.
Но сейчас не об этом.
Сейчас я хочу рассказать тебе об одном из моих guilty pleasure, который может быть вполне себе серьезным подспорьем.
Это утилита thefuck.
Это по сути своей набор эвристик, чтобы какие-то опечатки или же ошибки в командах можно было поправить одной простой командой:
fuckЭто просто гениально по своей сути! Автор, насколько я понимаю, англоговорящий, из-за чего эта фраза, я более чем уверен, не раз звучала где-то в офисе.
Ставим по классике:
# Для macOSbrew install thefuck
# Для Archsudo pacman -S thefuckДальше добавляем инициализацию в .zshrc1:
eval $(thefuck --alias)А потом происходит магия - эвристики понимают, что за команда должна была быть, и подставляют правильную.2
Мой постоянный флоу - это публикация новой ветки:
Да, понимаю, что можно настроить автосоздание remote-а в конфиге git-а. Можно через IDE все делать. Не знаю, каждый раз немного гыгыкаю, как Кевин из «Офиса», да и вообще это удобно, чтобы понимать, есть ли такая ветка или нет.
На самом деле приколов много. По умолчанию thefuck ждет подтверждения команды, которая будет выполнена, но можно пропустить этот выбор МАКСИМАЛЬНО КРУТЫМ СПОСОБОМ:
fuck --yeahИли же, если исправленная команда тоже может оказаться ошибочной, можно запустить рекурсивно:
fuck -rВсегда можно переопределить ключевое слово для триггера:
eval $(thefuck --alias BLYAT)Ну или если надо почему-то SFW-вариант (safe for work):
eval $(thefuck --alias оказия)
Можно еще настраивать и создавать свои правила. Мне, к примеру, приходит в голову такое: на виртуалке, когда кончается место, писать в терминал советы - мол, сделай то, то и это.
Можно включить ЭКСПЕРИМЕНТАЛЬНЫЙ МОМЕНТАЛЬНЫЙ режим, чтобы ошибки сразу же фиксили сами себя.
В общем, тут просто широкий простор для фантазии, думаю, много кому может быть полезно. Лично я так на все свои рабочие тачки ставлю. Может, даже стоит все-таки ставить и на VM-ки…
В общем, пользуйся, кринжуй, кайфуй - вот тебе еще одна тулзовина в коробочку с инструментами!
Берегите себя и своих близких!

