我有一个交互式脚本,我想打印一些行,用空行覆盖它们并写下更多:
for host in "${!HOSTS[@]}"
do
echo "Running on ${HOSTS[$host]}:"
ssh ${HOSTS[host]} "echo blah ; echo blah"
echo -e "\e[4A"
printf " %$((COLUMNS-1)).s\n" {1..3}
echo -e "\e[4A"
done
这是基于我实际上有3行先前的输出。
有没有办法让它更有活力?找出打印了多少行并完全覆盖了那些?
由于
答案 0 :(得分:3)
将输出放在变量中,并计算变量中的行数:
OUTPUT=$(ssh ${HOSTS[host]} "echo blah ; echo blah")
lines=$(echo "$OUTPUT" | wc -l) # count lines
echo "$OUTPUT" # echo it
在此之后,您可以使用$lines
来了解要覆盖的行数。