Я внезапно не могу ввести знак равенства (=)

Если у вас есть список чисел для преобразования и вы хотите избежать вызова функции и создания подоболочки для каждого символа, вы можете заранее определить набор ascii:

ascii=$(for x in {0..9} {A..F}; do for y in {0..9} {A..F}; do echo -ne "\x$x$y"; done; done)

Обратите внимание, что нулевой символ исключается, поэтому каждый символ смещается на 1.

Затем используйте что-то вроде этого (предполагает 1 число в строке):

while read c; do out+="${ascii:$c-1:1}"; done <<< "$in"
echo "$out"
3
05.02.2020, 21:42
2 ответа

У меня была такая же проблема в PuppyLinux, где я мог ввести ), но не 0 . Затем я попробовал другой дистрибутив Linux, чтобы убедиться, что он работает.

Вот как я сделал ошибку :Я недавно добавил новую привязку клавиш и по ошибке ввел неверный код (Я не помню какой )но это то, что мешало символу 0.

(Примечание :мой оконный менеджер jwmили оконный менеджер Джо, но на самом деле не имеет значения, какой дистрибутив или оконный менеджер вы используете.)

Заключение:проверьте все новые сочетания клавиш, добавленные с тех пор, как возникла проблема, либо из новой программы, устанавливающей свои собственные сочетания клавиш, либо из того, что вы добавили сами.

3
28.04.2021, 23:24

У меня была та же проблема, что и у вас. Знак:=не работал ни на настоящей, ни на виртуальной клавиатуре, а знак +работал.

Я просто оставлю это сообщение здесь на случай, если оно поможет хотя бы одному человеку :Мне удалось решить эту проблему, нажав Alt + Z и вернув сочетания клавиш по умолчанию.

Оказывается, мой знак =был сочетанием клавиш Windows... Ярлыком чего? Не знаю, но это точно была копия -, вклеившая все эти =знаки.

1
28.04.2021, 23:24

Теги

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