我构建了自己的网络服务器,并且我正在尝试进行测试。所以我用bash脚本模拟了许多请求:
i=0
while [ $i -lt 20 ]; do
echo ''
echo ''
echo ''
echo '============== current time ==============='
echo $i
echo '==========================================='
echo ''
curl -i http://www.example.com/index?key=abceefgefwe
i=$((i+1))
done
这很好但我更喜欢将所有echo
放在终端上的相同位置
我读过这个:How to show and update echo on same line
所以我为-ne
添加echo
但它似乎没有按预期工作。
curl
的消息仍然可以将echo
推开。
这就是我需要的:
============== current time =============== ---\
1 <------ this number keeps updating ----> the 3 lines stay here
=========================================== ---/
Here is the messages of `curl`, which are showing as normal way
答案 0 :(得分:3)
还有另一个选项,在写入stdout之前定位光标。
您可以设置x
和y
以满足您的需求。
#!/bin/bash
y=10
x=0
i=0
while [ $i -lt 20 ]; do
tput cup $y $x
echo ''
echo ''
echo ''
echo '============== current time ==============='
echo $i
echo '==========================================='
echo ''
curl -i http://www.example.com/index?key=abceefgefwe
i=$((i+1))
done
答案 1 :(得分:1)
您可以在while循环的开头添加clear
命令。如果这是您的想法,那么这将在每次迭代期间将echo语句保持在屏幕顶部。