Либо я упускаю что-то важное, либо простейшее решение кажется слишком очевидным :почему бы не использовать обычный канал?
xkb-switch -W | cut -c1-2
Это напечатает первые два символа каждой строки, которую выводит xkb-switch
, как только выводится разрыв строки.
Как и сказано, он добавляет и добавляет в начало , если заданы оба варианта
$ set list 1 2 3
$ set -S list
$list: set in global scope, unexported, with 3 elements
$list[1]: |1|
$list[2]: |2|
$list[3]: |3|
$ set --append --prepend list 4 5 6
$ set -S list
$list: set in global scope, unexported, with 9 elements
$list[1]: |4|
$list[2]: |5|
$list[3]: |6|
$list[4]: |1|
$list[5]: |2|
$list[6]: |3|
$list[7]: |4|
$list[8]: |5|
$list[9]: |6|