Сохранять вход bash в верхней строке экрана

Я бы хотел, чтобы ввод команды командной строки bash находился в верхней части экрана, чтобы выходы из старых команд были сдвинуты вниз, а не вверх.

Как я могу это достичь?

One Solution collect form web for “Сохранять вход bash в верхней строке экрана”

Добавьте эти строки в ваш .bashrc :

 prompt_on_top() { tput cup 0 0 tput el tput el1 } pre_cmd() { if [ "$BASH_COMMAND" = "$PROMPT_COMMAND" ] || [ -n "$COMP_LINE" ]; then return fi printf "\33[2J" } PROMPT_COMMAND="prompt_on_top" trap 'pre_cmd' DEBUG 

bash имеют PROMPT_COMMAND , которые удерживают команду, которая будет выполнена перед bash show bash . Здесь мы устанавливаем его на функцию prompt_on_top , которая использует tput для установки курсора в верхней части экрана.

bash также имеет способ выполнить команду перед выполнением любой команды, используя trap для обработки сигнала DEBUG . Здесь мы устанавливаем функцию pre_cmd , которая очищает старый экран и ничего не делает, если мы закончили ( COMP_LINE не пуст) или выполните команду в BASH_PROMPT .


Существует ограничение с этим подходом, если командный вывод слишком длинный, слишком подходящий на экране, тогда вывод будет переопределен действием prompt_on_top . В этом случае вам нужно передать вывод на пейджер, чтобы прочитать весь вывод.

  • терминальная теория цвета
  • Vintage терминал для Ubuntu
  • Получение stdin из именованного канала
  • Как постоянно менять цвет STDOUT и STDERR на серый?
  • Отключить цвета на терминале и SSH
  • В чем необходимость команд «halt --poweroff», «halt --reboot», «poweroff --reboot» и «reboot --poweroff»?
  • Просмотр полных команд в выводе ps
  • несмотря на то, что поток
  • Вертикальная прокрутка виртуального терминала очень медленная
  • Медленная распечатка терминала
  • Есть что-то вроде генератора lorem ipsum?
  • Interesting Posts

    Использование diff для отображения как содержимого новых файлов, так и создания новых пустых файлов

    Как установить точно такие же пакеты на другом компьютере в openSUSE?

    bash: Является ли продолжительность между двумя временными метками более одного часа?

    Cinnamon разбился после установки драйверов nvidia

    Изменение звукового устройства по умолчанию в Pulseaudio

    Почему overlayfs увеличивает время загрузки?

    i3 менеджер окон условный exec comand

    Как вывести необходимые записи из файла CSV в новый файл и подсчитать количество записей?

    службы debian не работают

    Удаление X процентов данных файла? (частичное аннулирование файла)

    Восстановление ip-правила по умолчанию

    Как найти разделы BSP в исходном коде Linux?

    Создание специализированного словарного файла для VIM (из Википедии?)

    Создание виртуального выхода X11 с драйвером Nvidia

    Какая стратегия лучше всего подходит для пользователя с таким научным опытом, как я? (Linux Desktop, двойная загрузка, виртуализация) / (Fedora? Arch? Win?)

    Linux и Unix - лучшая ОС в мире.