Сохранение возможностей заполнения клавишей Tab в файл

Поскольку колесо является инструментом притеснения! От info su:

Почему GNU 'su' не поддерживает группу 'колеса'

(Этот раздел Richard Stallman.)

Иногда несколько пользователей пытаются держать суммарную мощность по всему остальные. Например, в 1984, несколько пользователей в лаборатории AI MIT решили захватить власть путем изменения пароля оператора в системе Twenex и держания его в секрете от всех остальных. (Я смог мешать этому перевороту и отдать питание пользователям путем исправления ядра, но я не буду знать, как сделать это в Unix.)

Однако иногда линейки действительно говорят кому-то. Под обычным 'su' механизмом, после того как кто-то изучает пароль root, кто сочувствует обычным пользователям, он может сказать остальным. "Функция" группы колеса сделала бы это невозможным, и таким образом цементировала бы питание линеек.

Я нахожусь на стороне масс, не стороне линеек. Если Вы привыкли поддерживать боссов и системных администраторов в том, что они делают, Вы могли бы найти эту идею странной сначала.

См. также Ссылку Debian. Так или иначе, sudo группа встроена поэтому, кому нужно wheel?

6
28.09.2011, 01:16
2 ответа

В Вашем ~/.bashrc у Вас, вероятно, есть что-то вроде этого:

if [ -f /etc/bash_completion ] && ! shopt -oq posix
then
    source /etc/bash_completion
fi

Теперь, это - то, где продолжить смотреть, и заголовок _quote_readline_by_ref содержит необходимую подсказку:

compgen -f /etc/

Прослеживая это, это оказывается этим (через type compgen) compgen является "оболочкой, встроенной", что означает, что это должно появиться в man bash:

compgen [option] [word]
       Generate possible completion matches for word according to the options ...
5
27.01.2020, 20:25
  • 1
    Пример с помощью функции завершения, как _apt_get было бы интересно. –  enzotib 27.09.2011, 18:59
  • 2
    @enzotib compgen -F _apt_get, за исключением того, что это не настолько просто: необходимо было бы установить набор переменных для эмуляции реальной системы завершения. Zsh еще хуже, примитивы завершения (compadd, compset) только работайте, если названо от виджета завершения, который по очереди только работает из строчного редактора, не из сценария или даже из командной строки. –  Gilles 'SO- stop being evil' 28.09.2011, 01:23

Хотя, сырой метод, Вы могли использовать команду script

$ script -a lsdiff
Script started, file is lsdiff
$ ls <TAB>
a b c ...
$ <Ctrl-D>
Script done, file is lsdiff

Повторите вышеупомянутое для cd и сравните различие.

4
27.01.2020, 20:25

Теги

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