У меня была аналогичная проблема с клавиатурой на испанском языке (с каталонскими вариантами )и Linux Mint на английском языке (вариант США ).
Мне помогло изменение KeyboardLayout= Spanish
в wfclient.ini
.
В вашем случае попробуйте KeyboardLayout= British
илиKeyboardLayout= United Kingdom
Вероятно, самым простым и быстрым является использование функций расширения параметров bash , например:
string="22%"
percentage="${string%\%}"
echo "$percentage" # Output: 22
В ${string%\%}
первый %
имеет особое значение:удалить из конца параметра(параметр string
, в данном случае ).
Второе %
— это , что убрать из параметра. Но так как %
имеет особое значение в этом контексте, его нужно экранировать с помощью \
.
Дополнительные примеры и информацию см. в расширенном руководстве по написанию сценариев bash, глава 10 .
В командной строке есть много способов извлечения чисел, например, связанных с инструментами sed
или awk
, которые являются POSIX. Однако, поскольку вы напрямую спрашиваете, как это сделать с помощью bash.Предположим, у нас есть переменная оболочки $VARIABLE, для которой установлено значение 22%, тогда этот код поможет вам получить только число22
user@box:~$ VARIABLE='22%'
user@box:~$ echo "${VARIABLE%%\%}"
выходы 22
Учтите, что это несколько сбивает с толку, особенно в вашем примере, символ %
используется здесь со специальным значением, таким как «заменить с конца строки, хранящейся в переменной sheel». Чтобы указать, что то, что должно быть удалено с конца, будет символом %
буквально, мы должны экранировать его следующим образом\%