Вы можете сделать это с помощью команды под названием tput
.
Я создал базовый скрипт, который помещает строку в углу экрана, которая поможет вам начать работу. Вы можете сделать это намного лучше, стирая вещи и выделяя или любой другой, но это отправная точка:
#!/bin/bash
screen_w=$(tput cols) # Get screen width.
screen_h=$(tput lines) # Get screen height.
str=$* # String to put in corner.
string_w=${#str}
let "x = $screen_w - $string_w"
tput sc # Save current position
tput cup $screen_h $x # Move to corner
echo -ne $str # Put string in the corner
tput rc # Go back to saved position.
echo " >" # Some kind of prompt
Таким образом, вы можете установить ваши подсказки, чтобы запустить это так (я назвал выше сценарий pr.sh)
PS1=$(pr.sh $(date))
Возможно, оно отличается от zsh
, но я уверен, что вы можете работать с этой частью. Просто измените часть $ (date) на вашу команду статуса. (pr.sh должен быть на вашем пути)
Это немного неуклюже, но это поможет вам начать. Нет никакого ограничения на то, что вы можете сделать с tput
!
Вам не нужно (или действительно хотите) сделать это в подсказке. В zsh просмотрите функции 'preexec' и' precmd'. Для bash загляните в PROMPT_COMMAND и установите ловушку DEBUG. –