Loan Payment Calculator in Bash
Just a little bit of fun with Bash: a loan payment calculator. Nothing fancy here. Maybe I’ll add the amortization schedule to it later…
#!/bin/bash principal=$(echo | sed -r 's/[,]//g') apr= life= d() { sed ':a;s/\B[0-9]\{3\}\>/,&/;ta' } if [ -z "${principal}" ] || [ -z "${apr}" ] || [ -z "${life}" ] then exit 1 fi apr="$(echo "scale=6; ${apr} / (100*12)" | bc -q)" payments=$(( ${life} * 12 )) c="${principal} * ( ${apr} * ((1 + ${apr}) ^ ${payments} )) / ( ((1 + ${apr}) ^ ${payments}) - 1)" payment="$(echo "scale=2; $${c}" | bc -q)" interest="$(echo "scale=2; ${payment} * ${payments} - ${principal}" | bc -q)" echo "You'll be making ${payments} monthly payments of $`echo ${payment} | d` to pay off $`echo ${principal} | d` at %, paying $`echo ${interest} | d` in interest"
Sample run:
(root:brocksamson)-(bg:0)-(~)# loancalc 30,000.00 4.75 5 You'll be making 60 monthly payments of $562.63 to pay off $30,000.00 at 4.75%, paying $3,757.80 in interest