#!/bin/sh # (c) Steve Parker # http://steve-parker.org/sh/sh.shtml # Ugh, the shell doesn't really do maths. # We can co-opt bc or expr to do the job for us # bc is the better option, especially when we # involve decimal places. litres_to_gallons() { echo "$1 * 0.22" | bc } mpg() { echo "$1 / $2" | bc } usage() { echo "Usage: `basename $0` litres miles" echo echo "Will convert 'I used x litres to drive y miles' into an MPG figure" exit 1 } # Script starts here if [ "$#" -ne "2" ]; then usage fi gallons=`litres_to_gallons $1` miles=$2 milespergallon=`mpg $miles $gallons` echo "MPG for $1 litres ($gallons gallons) over $miles miles = $milespergallon mpg"