Как Вы настраиваете ключи цифровой клавиатуры с помощью XKB?

Ваш сценарий не должен производить одинарные кавычки. Когда Вы пишете

egrep 'foo|bar'

одинарные кавычки являются частью синтаксиса оболочки. Они защищают символы в них против расширения. Если одинарные кавычки появятся в выводе Вашего сценария, то они будут взяты в качестве обычных символов. Просто опустите их.

Существует намного более легкий способ записать Ваш сценарий: замените новые строки символами вертикальной черты и удалите последний.

list=$(</usr/local/directadmin/data/users/$user/domains.list tr '\n' '|')
echo "${list%|}"

Вы не должны делать этого при поиске фиксированного набора строк. Вместо этого используйте -F опция к grep сказать этому искать фиксированные строки, и -f опция сказать этому читать список шаблонов из файла.

grep -Ff /usr/local/directadmin/data/users/bob/domains.list

Обратите внимание на это, если Вы имеете domain.com в том файле поиск также возвратит хиты для более длинных строк такой как otherdomain.com. Таким образом, можно хотеть использовать сценарий для создания шаблона, который имеет привязки вначале и в конце, поэтому избегайте побочного соответствия. Я не знаю, какую пунктуацию журнал exim имеет; например, если бы имена окружаются пробелом, Вы хотели бы что-то как

#!/bin/sh
list=$(</usr/local/directadmin/data/users/$1/domains.list tr '\n' '|')
echo " (${list%|}) "

и назовите его как

</var/log/exim/mainlog grep -E `/path/to/rowscript bob`

Или выполните вызов сценария grep:

#!/bin/sh
shift
list=$(</usr/local/directadmin/data/users/$1/domains.list tr '\n' '|')
grep -E " (${list%|}) " -- "$@"

названный как

</var/log/exim/mainlog /path/to/rowscript bob
2
18.03.2012, 23:30
3 ответа

http://www.charvolant.org/~doug/xkb/html/node5.html#SECTION00052000000000000000 имеет карту клавиатуры, и это - символы

1
27.01.2020, 22:07

http://www.charvolant.org/~doug/xkb/html/node5.html#SECTION00052000000000000000 имеет карту клавиатуры, и это - символы

1
27.01.2020, 22:07

Те строки должны быть считаны как это:

key <key_identifier> { [ Symbol(s)_actually_sent ] };

символы разделяются с запятыми, если больше чем один; первое отправляется при нажатии клавиши, второго при нажатии со Сдвигом, третьим при нажатии с AltGr, четвертым при нажатии AltGr+Shift.

идентификаторы ключей цифровой клавиатуры - те, которые запускаются с <KO.>; тех, которые для клавиш направления, называют <KP.>; у некоторых есть конкретные имена также.

Если Вы хотите переопределить некоторые из тех ключей, необходимо записать строки, подобные той выше. Если Вы хотите просто включить им, то более, чем вероятно, что просто необходимо загрузить существующее определение клавиатуры. например: setxkbmap "us+keypad(x11)" (существует много определений клавиатуры, которые можно использовать, можно посмотреть на файл /usr/share/X11/xkb/symbols/keypad ).

Кроме того, выбор надлежащей модели/геометрии клавиатуры должен также автоматически включить его.

2
27.01.2020, 22:07

Теги

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