我使用while循环一遍又一遍地打印到同一行,以监控进度。
echo; while true; do
sleep 0.1;
echo -en "\e[1A";
run | some |code | awk '{print}';
done;
每次都将我的输出打印到同一行。
但是,存在一个缓冲区问题:游标在echo和print语句之间闪烁。
在我的while循环状态下,如何消除终端光标闪烁?
也许是一个不同的问题,但仍然是一个解决方案:如何在命令后暂时抑制光标?
发布于 2018-09-20 06:47:08
您可以通过将回显合并到awk
命令中来减少闪烁。例如:
echo; while true; do
sleep 0.1;
run | some |code | awk '{printf("\033[A%s\n", $0); }';
done;
(非标准) \e
等同于\033
,,您实际上并不需要重复计数1
.
https://stackoverflow.com/questions/52413290
复制相似问题