Chcę porównać zmiennoprzecinkową zmienną do liczby całkowitej. Wiem, że nie jest to najlepsze z bash, ale mój cały skrypt jest już napisany w bash. Liczba $ może być dowolną liczbą całkowitą. Jeśli poniżej lub równe 50, chcę output1, dla wszystkich innych chcę mieć wyjście z inną zmienną k. To, co mam tak daleko:Porównanie zmiennoprzecinkowe ze zmienną w bash
number=43
test=$(echo "scale=2; $number/50" | bc -l)
echo "$test"
for k in {1..5}
do
if ["$test" -le 1]
then echo "output"
elif ["$test" -gt $k]
then echo "output$k"
fi
done
Gdy próbuję z testu = 0,43, pierwsza pętla w ogóle nie działa. Myślę, że ma to związek z liczbą całkowitą i zmiennoprzecinkową, ale nie może sprawić, żeby działało.
Wszystko, czego mi brakuje?
PS: ten [0.43: command not found
jest tym, co wyprowadza na zacisk.
można też po prostu przejść do ksh i używać przygotowana do automatycznego okrągłe. (dostępne od 1993 roku, działa dobrze) –