Обычно информация от устройств выставляется приложениям через файлы устройств. Для мышей, в современных системах Linux, устройство /dev/mice
(это устройство собирает события из всех подключенных мышей, существуют также устройства, соответствующие каждой отдельной мыши).
Когда Вы перемещаете или щелкаете мышью, мышь отправляет электрический сигнал на компьютер, который заставляет это повышать прерывание. Часть кода в ядре Linux звонила, обработчик прерываний в свою очередь читает данные о событии (например, какая кнопка была нажата), и инициировал цепочку уведомлений в ядре.
Если существует какое-либо приложение, которое читает из файла устройств, соответствующего этому устройству, то приложение сказано, что вводит, ожидает. Например, если приложение заблокировано в read
системный вызов, то системный вызов возвращается.
В типичной системе существует один процесс, читая события мышей: сервер X Window. Та программа управляет входные периферийные устройства и графический дисплей. Отдельные графические приложения затем уведомляются относительно событий от нажатия мыши через дженерик X протоколов события, которые несут другие типы событий, такие как нажатия клавиш, изменения фокуса окна, изменения видимости окна, …
В Bash:
man bash | grep -10 RESERVED
зарезервированные слова списков:
! случай coproc еще делают сделанный elif esac fi для функции если в выборе затем до в то время как {} время [[]]
declare -F
и typeset -F
выставочные имена функций без их содержания.enable
перечисляет встроенные команды оболочки (я не думаю, что это функции как таковые).So, делает man builtins
С zsh:
PATH= type -m '*'
Скажет Вам все 3.
В ударе, для списка ключевых слов можно сделать:
complete -A keyword :
и затем введите : <Tab><Tab>
Для builtins, замены keyword
с builtin
выше и для функций, я позволю Вам предположить.
print -l ${(ko)aliases}
, и т.д.
– Gilles 'SO- stop being evil'
31.01.2013, 01:11
complte -A keyword : <tab> <tab>
и complte -A builtin : <tab> <tab>
, оба раза это запросило мой "Дисплей все 2 154 возможности? (y или n),
– Forever Learner
01.02.2013, 22:51
compgen -k[119890] перечисляет ключевые слова
compgen -b[119892] или [119893]enable[119894] списки builts
ln -sf /full/path/to/parent/child/child ../child1
ln -sf /full/path/to/parent/child/child ../child2
compgen -A function[119896] или [119897]объявить -F[119898] списки functionscompgen -a[119900] или [119901]псевдоним списков[119902] списки псевдонимовcompgen -a[119693]. c[119904] списки команд
compgen -v[119906] списки переменных
compgen -e[119908] или [119909]export[119910] списки экспортируемых переменных
В баш
ключевые слова (зарезервированные слова):
compgen -A keyword # or: compgen -k
функции (, определенные в момент выполнения):
compgen -A function # Only names.
declare -F # Only names but prefixed with `declare -f`.
declare -f #Полное определение функции.
встроенные функции
compgen -A builtin # Only names.
enable # Names prefixed with `enable `
man builtins # Only if the correct man package is installed.
Существуют и другие ключевые слова для compgen
, а также :псевдоним, команды, переменные, экспорт и т. д.
Список возможныхcompgen
-A
вариантов можно найти, выполнив:
compgen -A # and press Tab (Maybe twice vary by configuration).