我有一些shell函数,一个在多行上绘制一些ASCII艺术作品,例如:
printf %s '
______________
||__________||
'
sleep 1
clear
printf %s '
______________
||__________||
||
||
||
'
sleep 1
clear
printf %s '
______________
||__________||
||
||
||
||‾‾‾‾‾‾‾‾‾‾||
‾‾‾‾‾‾‾‾‾‾‾‾‾‾
'
有没有办法在不清除屏幕的情况下覆盖字符串?我已经尝试在每一行和最后一行使用\ r \ n,但这似乎只是替换了一行字符串。
答案 0 :(得分:2)
这完全取决于您的终端。许多终端允许发送转义序列将光标移动到原位。这可以作为terminfo(1)命令
使用tput home
printf 'Cursor now home\n'
如果有,请查看man terminfo
。如果没有,您需要告诉我们您的TERM
环境变量(echo $TERM
)的价值。