Terminal 终端:消除光标闪烁

Terminal 终端:消除光标闪烁,terminal,Terminal,我用while循环一遍又一遍地打印到同一行,以监控进度 echo; while true; do sleep 0.1; echo -en "\e[1A"; run | some |code | awk '{print}'; done; 每次都将输出打印到同一行 但是,存在缓冲区问题:光标在echo和print语句之间闪烁 如何在循环期间消除状态中的终端光标闪烁 也许是一个不同的问题,但仍然是一个解决方案:如何在命令后临时抑制光标?您可以通过将回声组合到awk命令

我用while循环一遍又一遍地打印到同一行,以监控进度

echo; while true; do 
    sleep 0.1; 
    echo -en "\e[1A"; 
    run | some |code | awk '{print}'; 
done;
每次都将输出打印到同一行

但是,存在缓冲区问题:光标在echo和print语句之间闪烁

如何在循环期间消除状态中的终端光标闪烁


也许是一个不同的问题,但仍然是一个解决方案:如何在命令后临时抑制光标?

您可以通过将回声组合到
awk
命令中来减少闪烁。例如:

echo; while true; do 
    sleep 0.1; 
    run | some |code | awk '{printf("\033[A%s\n", $0); }'; 
done;
(非标准)
\e
相当于
\033
,您实际上不需要重复计数
<1