команда setxkbmap и набор локальная клавиатура

В оболочку встроен сепаратор переменного поля расширения. Так что если у вас есть строка и ваш разделитель сплошной, вы можете сделать:

var=32768,'dff0207a-591f-4435-9f8b-7b9b3e6ba2c1','d1f77359b3f7236806489ba3108c771f','NUMBER','US_EN','LATIN','GREEK','GERMAN'
(   IFS=,; set -f
    for field in $var
    do  printf '\n%s\n\t' "$field - md5:" >&2
        printf %s "$field" |
        md5sum
    done |
    cut -d\  -f1
)

32768 - md5:
        f43764367fa4b73ba947fae71b0223a4

dff0207a-591f-4435-9f8b-7b9b3e6ba2c1 - md5:
        0983e6c45209f390461c1b1df9320674

d1f77359b3f7236806489ba3108c771f - md5:
        07d82ab57ba81f991ab996bd7c5a0441

NUMBER - md5:
        34f55eca38e0605a84f169ff61a2a396

US_EN - md5:
        c9d3e580b7b102e864d9aea8703486ab

LATIN - md5:
        0e869135050d24ea6e7a30fc6edbac6c

GREEK - md5:
        d4cacc28e56302bcec9d7af4bba8c9a7

GERMAN - md5:
        ed73cca110623766d7a2457331a4f373

Это должно дать вам список md5s, разделенных на новые строки - как это сделал я.

IFS=, используется для указания, что при любом расширении оболочки типа переменной оболочка должна разделяться на символ ,, а не на символ <пробел> - что является значением по умолчанию. Набор -f используется для указания, что если оболочка должна столкнуться с какими-либо глобусами файла в нецитируемом расширении, то она не должна их расширять - поэтому echo * будет печатать только * независимо от содержимого текущей директории.

Для каждого поля, разделенного запятыми в $var оболочка делает вывод "$field" | md5sum - таким образом, один раз на каждое поле без разделительных строк, как я понимаю вопрос. И последняя cut обрезает несколько пробелов и - в конце каждой выходной строки по мере их получения. Большая часть вывода на самом деле составляет stderr - cut только когда-нибудь видит md5sums.

1
23.01.2015, 14:34
1 ответ

Используйте http://sourceforge.net/projects/perwindowlayout/. Я попробовал, и это хорошо работает на флуксбоксе. Это дает преимущество опции grp:

grp                  Key(s) to change layout

В примере http://sourceforge.net/projects/perwindowlayout/files setxkbmap используется так:

setxkbmap -layout 'us,ru(winkeys)' -model pc105 -option grp:rwin_toggle,grp_led:num

Это означает, что для изменения раскладки с us на ru используется правый ключ Win (также известный как super key). Когда perwindowlayout запускается после этого, нажатие правой клавиши Win изменит раскладку клавиатуры только в активном окне.

1
27.01.2020, 23:51

Теги

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