我的ZSH主题使用.ZSH主题文件( vbox_status调用输出正在运行的内容的脚本)中的.ZSH主题文件输出Vagrant/VBox的状态,如下所示:

但是,我想知道是否有一种方法可以使输出“粘稠”,这样,与其在每一行的末尾输出,不如将其保持在箭头所指示的位置,并在上面的新行输出时简单地更新自己。
例如:

发布于 2014-06-18 02:29:17
您可以使用一个名为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)部分更改为status命令即可。(pr.sh必须在您的路径上)
这有点笨重,但它会让你开始。使用tput所能做的几乎是没有限制的!
https://stackoverflow.com/questions/24274456
复制相似问题