我将数据打印到控制台中的表单中,然后使用tput cup
打印将其打印在同一位置。这样,我可以创建一种表单,其中包含每个值的简短描述。但如果你运行
var=12
tput cup 2 4; echo "$var"
后
var=9999
tput cup 2 4; echo "$var"
你得到
usr@node: /dir> 1299
有没有更好的方法来解决这个问题
var=9999
tput cup 2 4; echo "$var"
tput cup 2 4; echo " "
var=12
tput cup 2 4; echo "$var"
也许在每个变量的末尾添加空格,以便它总是具有相同数量的字符或类似的?
答案1
echo
用。。。来代替printf "%10.0" $var
这段代码的作用是告诉 printf 打印一行宽度为 10 个空格的行,将 视为$var
浮点数,但由于那里有 .0,所以小数点后的部分不会被打印。试试这个:
var=9999; tput cup 2 4; printf "%10.0f" $var; sleep 2; var=12; tput cup 2 4; printf "%10.0f" $var;