Нормальное заполнение клавишей Tab Bash силы, если интеллектуальное завершение перестало работать

Я записал бы небольшую программу, которая проверила на любые активные соединения SSH через netstat и/или ps. Отбросьте его вместо shutdown команда.

Если никто больше не использует машину, звонить shutdown когда пользователь пытается. Если кто-то использует машину, просто предупредите пользователя, который вышел shutdown команда.

Netstat даст Вам вывод как это, и довольно легко искать .ssh в выводе.

netstat -a
Active Internet connections (including servers)
Proto Recv-Q Send-Q  Local Address          Foreign Address        State
tcp        0     52  10.5.6.xx.ssh          10.6.6.yy.51400        ESTABLISHED
tcp        0      0  *.ssh                  *.*                    LISTEN
udp        0      0  *.syslog               *.*

ps даст Вам вывод как это, но это немного более твердо, потому что необходимо удостовериться, что не волновались об исходящих соединениях. Netstat вероятно, правильный способ пойти.

  ps -e | grep ssh
      10084366 ?        00:00:07 /opt/sbin/sshd
        282647 ?        00:00:00 /opt/sbin/sshd
10
30.03.2014, 16:53
3 ответа
[119243] bash complete является продолжением стандартного завершения bash и само по себе является программой bash. Так что если вы хотите изменить то, как действует программа, просто измените ее. Это свободная программа, вы вольны делать это. Для конкретного случая команды [119533]tar[119534] файлом является [119535]/usr/share/bash-completion/completions/tar[119536]. Для того, чтобы [119537]tar[119538] автоматически заполнил файл с расширением [119539]ova[119540], просто добавьте его в строку

, чтобы было написано

Заметьте, что это путь и код, существующий для Debian Wheezy (текущая стабильная версия). Другой дистрибутив или версия могут иметь другой код, но идея одна и та же. Откройте код и настройте его так, чтобы он делал то, что вы хотите.

  1. Edit: Я только что заметил, что вопрос был о каждом случае, когда он не находил совпадений, а не только о конкретном случае добавления [119541]ova[119542] к [119543]tar[119544]. Может быть, это все же может быть полезно кому-то, чтобы знать, где он может искать источник.[119250].

1
27.01.2020, 20:02
[112449] Следующее должно включить нормальное завершение бэша после всех "умных". завершения завершились неудачно для программ tar, vim и emacs:

  • см. также соответствующую страницу [112786][112787] в онлайн-руководстве по bash.

  • Caveat: вы получаете нормальное поведение для типа завершения (команды/имена/пользователи и т.д.), определяемого интеллектуальным завершением для рассматриваемой команды, например, для завершения для службы [112788] [112789] не будет завершено заполнение имен файлов, даже если вы вызовете службу [112790] -o bashdefault [112791].

В этом и других случаях, когда интеллектуальное автозавершение не удается, вы всегда можете нажать [112792]Alt-/[112793] (или [112794]M-/[112795] в нотации руководства по бас-гитаре). чтобы заполнить имена файлов [112796] [112797] почти так же, как работает ТАБ, если он умный. завершение отключено (почти так же, как и в том смысле, что [112798]M-/[112799] не завершает шаблоны типа [112800]*.txt[112801]). Смотрите [112802]здесь[112803] для других типов завершений, таких как имена команд и пользователей.[112456].

9
27.01.2020, 20:02

Хей Оле :-),

Иметь свой торт и есть его тоже:

<tab>даст вам лучшее предположение bash по завершении. Как известно, иногда это неправильно.

Однако,M-/(ALT+ SHIFT+7(и что осталось ALT,неправильноеAltGr)на наших датских клавиатурах )будет принудительно завершать в виде файла, когда завершение bash не идеально. Поэтому я использую M-/, когда знаю, что хочу принудительно выполнить завершение в виде файла.

Для меня это лучшее из обоих миров.

3
13.09.2020, 21:02

Теги

Похожие вопросы