Para ler um preço e coagi-lo a ter duas casas decimais, tente:
read -p "Enter the price: " var
printf -v var '%.2f' "$var"
O formato %.2f
informa printf
para usar dígitos com duas casas decimais.
Exemplos:
$ read -p "Enter the price: " var; printf -v var '%.2f' "$var"; echo "var=$var"
Enter the price: 1.2
var=1.20
$ read -p "Enter the price: " var; printf -v var '%.2f' "$var"; echo "var=$var"
Enter the price: 1.123
var=1.12
Nota: O Bash pode formatar números com pontos decimais, mas não pode fazer adição, subtração ou outra aritmética em tais números de ponto flutuante. Para isso, você precisará de outras ferramentas como awk
ou bc
ou zsh
.