Как стать автором
Обновить

Комментарии 43

Будет весьма и весьма полезно
Работать под рутом? =)
Это как-то связано с темой статьи?
Это мой коммент, на как обычно пустой и бессмысленный первый комментарий, я бы даже сказала спамерско-бесполезный… Не заметили, что он подойдет примерно к 70% всех постов?
нечто среднее между троллиногом и развитием темы? :)
Мне давно было интересно, как это реализуется. Приятно что так просто, но скрипт на 10к строк это жесть, конечно.
Скрипт на 10к строк реализует основной функционал, модули для своего дополнения укладываются строк в 15-20 :)
давно хотел попробывать это сделать, но не доходили руки. valgrind'у например это очень нужно, у него куча длинных опций. жду продолжения
Ну пока что тема интереса не вызывает :)
Думаю если Вы напишите ещё один небольшой пост с обещанным примером, минусовать его не будут точно :)
Постараюсь дописать через пару дней :)
в CentOS 5.3 такое не нашел, yum search тоже ничего такого не выдает,
как подключить?
Возможно, стоит посмотреть тут:
www.caliban.org/bash/#completion
центоса, чтобы сказать точнее, под рукой нет :(
спасибо, поколупаю на досуге)
унёс в закладки
Спасибо вам большое, а то у меня на убунте это работает, а в дебиане — нет. Я всю голову изломал как включить…
в /etc/bash.bashrc раскомментировать три строчки:

#if [ -f /etc/bash_completion ]; then
#    . /etc/bash_completion
#fi

тогда автодополнение будет работать для всех пользователей
Да, но не факт что все этого хотят :)
добавьте их тогда в ~/.bashrc
Очень хорошая статья!
Сейчас напишу для себя автодополнение для команды invoke-rc.d, а то лениво каждый раз писать /etc/init.d/
нижний коммент вам на самом деле :)
Обычно он есть из коробки.
Точно! Ну совсем я совсем ленивым буду =)
Не нужно. Если требуется настраеваемое автодополнение — привет, zsh. bash должен быть по возможности более ванильный, ибо работать с ним приходится практически везде, в том числе там, куда свои конфиги не утянешь.
Конкретно для ssh удобней использовать .ssh/config если у вас фиксированный набор машин. Опять же алиасы можно делать любые.
Чем это удобнее?
Конкретно в моем случае, в known_hosts сохраняются айпишники, причем они из одной сети. Автодополнение до последнего октета адреса делает мало погоды. В конфиг же я кладу человеческие названия аля db, web1, web2 и т.д.
Кроме того в конфиг можно положить еще много чего вкусного, например юзернейм.
В моем случае количество серверов несколько больше, чем то, что можно запомнить по ip-адресам. При этом я вполне знаю на какой хост по имени надо попасть.
Конфиг, к тому-же надо поддерживать руками в актуальном состоянии, а машина в known_hosts попадает сама, после первой попытки логина на нее.
>В конфиг же я кладу человеческие названия аля db, web1, web2 и т.д.
А у вас не поднята даже локальная DNS зона для ваших машин?
Поэтому я и писал про фиксированный набор машин.
У нас далеко не локальная зона. Куча vpn-ов к заказчикам, на всех не наподымаешься :)
Кроме того, у нас часто используются виртуальные адреса балансера, за которым живет несколько реальных машин, в этом случае ssh сильно огорчается, когда видит в known_hosts другой хэш машины. Я не проверял еще решает ли ваше предложение эту проблему.
>в этом случае ssh сильно огорчается, когда видит в known_hosts другой хэш машины
Он огорчится в любом случае :-)
>часто используются виртуальные адреса балансера, за которым живет несколько реальных машин
вы балансируете все соединения на балансер, а не только на некоторый выбранный(80, к примеру) порт?
Да. Виртуальный адрес висит на полноценном интерфейсе.
В общем, мы не можем предугадать какая физическая машина обслужит нас по этому виртуальному адресу в конкретный момент.
known_hosts при коллизии приходится чистить
Забавно.
Я сталкивался с системами, когда баласер балансирует (oops) соединения на выбранном порту к определенным машинам. При этом доступ к машинам сохраняется по их «исходным» адресам.
Это не только и не столько балансер, сколько обеспечение реданденси, защита от физического выгорания одного из спаренных узлов. Тогда адрес переключится на запасной.
Доступ к машинам по исходным адресам тоже есть. Но обычно надо попасть на «активную»
понял :)
А зачем чистить? В плане что можно выставить StrictHostKeyChecking в no, и тогда ssh будет ругаться, но прилежно коннектится к удаленным хостам.
Сейчас так и есть. Но это у меня :) У остальных, кто про ключик не знает, проблема осталась.
прекрасно! я давно думал что надо найти комплешн для имён хостов — где-то видел что так работает — но всё время забывал. Мерси огромное!
Пожалуйста :) Скоро будет вторая часть, там интереснее :)
друг, рассказывай о автодополнении для собсвеноручных скриптов!
Да-да, где уже вторая часть?
Обещанного продолжения не было уже полтора года, потому его попробовал написать я. Но, увы, кармы не хватает на публикацию. Помогите кто чем можете =\
помог, продолжай начатое :)
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории