Я печатаю данные в форму в консоли и использую 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"
может быть добавление пробелов в конец каждой переменной, чтобы всегда было одинаковое количество символов или что-то в этом роде?
Замена 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;
sudo apt update && sudo apt upgrade
на Ubuntu 16.04. – CascadiaJS 11 March 2018 в 07:27