Записи с тегом «bash»

Tmux автозапуск при подключении по ssh

У меня часто бывает, что я подключусь к серверу по ssh и запускаю какую либо задачу (копирование, проверки) которая может затянуться. Потом внезапно либо ssh отвалится ибо подключился с ноутбука или, что чаще всего случается - перевожу комп в спячку напрочь забыв про то, что там где-то что-то на сервере выполняется. Выполняемая на сервере задача при этом само собой прерывается. Все это от того, что я забываю запустить tmux при подключении. Чтобы этого не происходило, я настроил автозапуск tmux при подключении по SSH.

Читать дальше →

Автоматизируем работу в интерактивных консольных программах используя expect

В жизни сетевого инженера (да и не только), наступает такой момент, когда некоторые рутинные операции надоедает выполнять, и хочется их оптимизировать. В один прекрасный день я понял, что каждый раз когда мне нужно авторизоваться на коммутаторе, то набирать логин\пароль, а затем ещё пароль на enable мне надоело. Поэтому данное действие было решено как-то оптимизировать. Взяв бутылочку пенного я сел за "работу"..

В компании где я работаю, по определённым обстоятельствам авторизация на коммутаторах\роутерах\DSLAM и прочем оборудовании происходит не по ssh, а по telnet. Средствами самого telnet возможности передать логин\пароль нет, поэтому поиск с попутным распитием алкоголя продолжился, и остановился на утилите expect.

Expect - это утилита, которая парсит потоковый вывод консольных программ, и в ответ на них отправляет какой либо заранее предусмотренный "ответ". Например, при подключении к ftp серверу, ожидаем получить запрос на ввод пароля, и при его получении - отправляем его.

Для моей задачи expect подошёл идеально. Да и как оказалось, у одного из коллег уже был небольшой expect скрипт для этих целей, который, правда, не совсем подходил мне, но для ознакомления с expect пришёлся весьма кстати.

Читать дальше →

Автоматически изменяем заголовок эмулятора терминала на последнюю введённую команду

Не знаю как у остальных, но у меня часто бывает так, что открыто очень много эмуляторов терминала и на панели задач примерно такая картина (кликабельно):

Разумеется, в каждом эмуляторе терминала открыто что-то нужное, но разобраться в этой куче без названий довольно трудно. Поэтому решил я сделать так, чтобы в заголовке терминала, выводилась последняя введённая команда. Всё оказалось довольно просто, и делается штатными средствами bash\zsh. Например, для zsh всё что нужно было, так это добавить в конфиг:

Читать дальше →

Режим совместимости с vi в bash и zsh

По умолчанию, в bash и zsh включен режим совместимости с emacs. Т.е. такие же клавиатурные сочетания как в нём. Например ctrl-a для перехода в начало строки, или ctrl-e для перехода в конец строки и т.д. (Подробнее например тут). Почему-то, мало кто знает, что там так же есть режим совместимости с vi (не путать c vim. Различия есть. Особенно для опытных vim'еров). Т.е.после запуска терминала сразу попадаем в insert mode в котором вводим команду. Нажав на esc переходим в командный режим. В нём работает большинство команд vi. Например поиск по / или удаление слова dw и многие другие.
Использовать так:

Читать дальше →

Маленькие хитрости пользовательских скриптов и не только

Я не знаю как у тебя %username% читающего данный пост, а у меня лично тьма скриптов (некоторые еще и связаны друг с другом). Начиная от простых скриптов которые использую для вывода какой либо информации на панель wmii и заканчивая крайне сложными скриптами. Даже соединение с интернет у меня с использованием скрипта. В этом посте я напишу пару хитростей которые должны облегчить вам жизнь.

Читать дальше →