Online video hd

Смотреть сестра и брат видео

Официальный сайт ufa-check 24/7/365

Смотреть видео бесплатно

WeLinux.ru

04.05.09 14:52h0rr0rr_drag0n

Tips & tricksИзменение реакции bash на ввод несуществующей команды.

В Debian и Ubuntu bash пропатчен специальным патчем, который добавляет функцию, обрабатывающую ввод несуществующей команды.

Функция эта называется command_not_found_handle. В Ubuntu она уже используется для вывода сообщения о возможности установить недостающую программу.
Естественно эту функцию можно переопределить в .bashrc, приспособив ее под свои нужды. У меня, например, просто выводится сообщение об отсутствии введенной команды.
1
2
3
4
5
6
7

function command_not_found_handle {
        EXECUTED_CMD=`history | tail -n 1 | awk '{$1 = ""; print $0}' | colrm 1 1`
        echo -e "ОноТолЕй СъеЛ \033[1;37m$EXECUTED_CMD\033[0;37m. ПЫщЬ пЫщЬ!!!111"
        echo -e "Воены УПЧК следят за тобой "'$USERNAME'
}
 


+9
xT04.05.09 15:00# +2
можно $USERNAME заменить на $(whoami)
=)
muhas04.05.09 15:14# +3
ввожу sl
вижу ответ zsh: Заменить 'sl' на 'ls' ? [Yes/No/Abort/Edit]sl
:)


PS. '$USERNAME' никогда не выведет имя юзверя ибо одинарные ковычки
muhas04.05.09 15:15# +0
s/it]sl/it]/g
h0rr0rr_drag0n04.05.09 15:43# +0
$USERNAME' никогда не выведет имя юзверя ибо одинарные ковычки

Так и было задумано =))
krig04.05.09 15:37# +1
В функции небольшая бага, которая меняет цвет текста в консоли (у меня по умолчанию зеленый).


Думаю имеет смысл просто выделять команду полужирным, без изменения цвета.
h0rr0rr_drag0n04.05.09 15:45# +0
Это фича.)) Функция меняет цвет текста на белый - смотри escape-коды перед "пыщь-пыщь". Чтобы снова был зеленый - пропиши туда escape-коды для зеленого.
Minoru04.05.09 23:20# +4
Плохая практика — делать такие «фичи». И фикс ты предложил плохой. Правильно — это запомнить состояние цветов, сменить на свои, вывести сообщение, вернуть те, что были.

Имхо.
h0rr0rr_drag0n05.05.09 06:37# +0
А как запомнить состояние цветов? Я не знаю.
muhas05.05.09 14:58# +0
у тя есть дефолтный шрифт, в него и возвращать надо, к примеру в zsh это %{\e[0m%} или %{$reset_color%} в bash вроде первое в виде \e[0m должно сработать
Minoru05.05.09 19:12# +0
Ну %{$reset_color%} (и его аналог в bash'е) — тоже не совсем хорошо в данном случае.
Потому что krig у себя в .bashrc прописал что-то там особенное, ты переназначил на своё, а потом сбросил в дефолтное — то есть сбросил и свои настройки, и, что самое важное, krig'а. Так что запомнить и восстановить — единственно верное решение.

Вспомнить бы, как команды назывались…
Minoru05.05.09 19:09# +0
Есть там какие-то команды… Честно говоря, не помню названий, но есть набор утилит для контроля за консолью: смена цвета, перемещение курсора в произвольную позицию, получение текущих установок цветов и т.п.
l1feh4ck3r06.05.09 09:18# +0
В bash дефолтный цвет имеет код \033[0;m , если я не ошибаюсь. Вечером дома гляну и напишу точнее.
NucleoFag04.05.09 22:37# +0
Гыг =) Неожиданно =) Спасибо!

/me пошел править .bashrc

Top блогов (все)
Топ пользователей Топ блогов
Топ пользователей Топ блогов
Top пользователей (все)
Топ пользователей Топ блогов
В сети: Brun, nister, Cucumber

Новенькие: syslik, Svental, Real, mylexform, aonick
welinux.ru
Идея сайта exelens; Движок 0byte, разработчик nvbn; Дизайн - Astramak

Смотреть онлайн бесплатно

Онлайн видео бесплатно


Смотреть русское с разговорами видео

Online video HD

Видео скачать на телефон

Русские фильмы бесплатно

Full HD video online

Смотреть видео онлайн

Смотреть HD видео бесплатно

School смотреть онлайн