bc
hará esto por usted, pero el orden es importante.
> echo "scale = 2; 20 * 100/30" | bc
66.66
> echo "scale = 2; 20/30 * 100" | bc
66.00
o, en su caso específico:
> export ach_gs=2
> export ach_gs_max=3
> x=$(echo "scale = 2; $ach_gs * 100/$ach_gs_max" | bc)
> echo $x
66.66
Sea cual sea el método que elija, esto es madura para su inclusión como una función para hacer su vida más fácil:
#!/bin/bash
function pct() {
echo "scale = $3; $1 * 100/$2" | bc
}
x=$(pct 2 3 2) ; echo $x # gives 66.66
x=$(pct 1 6 0) ; echo $x # gives 16
smok, nie tykaj :) – lauriys
Lo siento, mea culpa, mea maxima! – smok1
para operaciones matemáticas, intente usar bc o awk, no bash o expr – ghostdog74