Terminal 终端:消除光标闪烁
我用while循环一遍又一遍地打印到同一行,以监控进度Terminal 终端:消除光标闪烁,terminal,Terminal,我用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;
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