我正在使用Bash (cygwin),我想实现一些类似于跨越垂直线的进度指示器。它将替换控制台输出,并且不会附加到该输出中。它需要看起来像一个动画。
因此,随着时间的推移,会出现以下输出:
迭代1:
---
---
---迭代2:
*--
---
---迭代5:
***
*--
---诀窍是跨越垂直线。
如果不跨越垂直线,使用echo很容易。我可以使用\b向后移动一个空格并覆盖前面的字符:
echo -n -e "\b"但是如何上移一行并覆盖以前的行呢?
发布于 2011-11-30 16:58:24
可以使用ANSI转义序列来移动光标:
\033[NA - cursor up N lines
\033[NB - cursor down N lines
\033[NC - cursor right N steps
\033[ND - cursor left N steps所以
$ echo -e '\033[8Chello'
hellohttps://stackoverflow.com/questions/8323172
复制相似问题