Скорее всего, проблема связана с readline, который использует bash. Поместите следующее в /etc/inputrc
или ~/.inputrc
:
set meta-flag on set output-meta on set convert-meta off
meta-flag
включает восьмибитный ввод (то есть он не очищает восьмой бит в символах, которые он читает), независимо от того, что терминал утверждает, что он может поддерживать. output-meta
включит отображение символов с восьмым установленным битом напрямую, а не как мета-префикс с escape-последовательностью. Когда convert-meta
он включен, readline преобразует символы с восьмым битом, установленным в последовательность клавиш ASCII, удаляя восьмой бит и добавляя к нему префикс с помощью escape-символа (по сути, используя escape в качестве мета-префикса). Мы выключаем это. Есть ли man readline
для получения дополнительной информации об этих и других переменных.