我正在使用while循环反复打印到同一行,以监视进度。
echo; while true; do
sleep 0.1;
echo -en "\e[1A";
run | some |code | awk '{print}';
done;
每次将我的输出打印到同一行。
但是,存在一个缓冲区问题:光标在echo和print语句之间闪烁。
在循环时如何消除终端光标闪烁的状态?
也许是一个不同的问题,但仍然是一个解决方案:如何在命令后临时抑制光标?
答案 0 :(得分:1)
您可以通过将回波组合到 awk
命令中来减少闪烁。例如:
echo; while true; do
sleep 0.1;
run | some |code | awk '{printf("\033[A%s\n", $0); }';
done;
(非标准) \e
等同于 \033
,并且您实际上并不需要重复计数 {{ 1}} 。