我的 ZSH 主题RPROMPT='$(vbox_status)'
在我的 .zsh-theme 文件中使用输出我的 Vagrant/VBox VM 的状态(其中vbox_status
调用输出正在运行的脚本),如下所示:
但是,我想知道是否有一种方法可以使此输出“粘性”,这样,它不会在每一行的末尾输出,而是停留在箭头指示的位置,并且只要有新行就简单地更新自己是上面的输出。
例如。
您可以使用名为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
!