Длина строки режима чтения в приглашении bash

Как найти длину строки режима readline (например, @ или (cmd) или (ins) ), которая печатается перед приглашением bash? Строка этого режима активируется set show-mode-in-prompt on в .inputrc .

Я хочу определить длину этой строки из $PROMPT_COMMAND .

Я пытаюсь сделать движение курсора с помощью tput внутри подсказки, чтобы напечатать некоторую информацию о правой стороне терминала (чтобы ее можно было перезаписать, если это необходимо), а затем возобновить печать приглашения слева, но мне нужно принять с учетом длины строки режима.

$PROMPT_COMMAND снова $PROMPT_COMMAND а приглашение переиздается, если изменить режим (например) emacs-mode-string в vi-ins-mode-string в качестве префикса?

One Solution collect form web for “Длина строки режима чтения в приглашении bash”

Не совсем ответ на вопрос о длине строки режима, но обходной путь:

Я закончил использовать коды ANSI CSI, чтобы сохранить и восстановить положение курсора. (Спасибо @tripleee за указатель).

Я все еще не мог найти длину строки режима, даже когда привязывал, чтобы получить позицию курсора, используя PS1=$(getColumn) где getColumn – это разные вещи, которые я пробовал на основе:

Моя работа с использованием кодов ANSI CSI может быть найдена, как в ответе «Правая выравнивающая часть подсказки» .

Я очень доволен обходным процессом, так как мне удалось сделать это без единого shellcheck и сделать его shellcheck .

  • Есть ли разница между read, head -1 и sed 1q?
  • Почему некоторые оболочки `read` builtin не могут прочитать всю строку из файла в` / proc`?
  • Символ ложных @ в начале подсказки bash в Debian Jessie
  • используйте команду «читать» для передачи строк в качестве позиционных параметров в сценарий оболочки
  • Не удается прочитать стандартный файл - блок операций ввода-вывода
  • Как использовать пользовательский ввод как условие цикла while
  • Как подавить эхо функции проверки ошибок
  • Запустите сценарий оболочки и прочитайте вывод в переменной и запустите другой скрипт на основе вывода
  • Ждите ключа в сценарии оболочки, который может быть отправлен в / bin / bash
  • Почему этот скрипт зацикливается на первой строке файла txt?
  • Как читать с другого терминала?
  • Interesting Posts
    Linux и Unix - лучшая ОС в мире.