Llame a un lenguaje de secuencias de comandos con una función ceil. Dado $NUMBER
:
python -c "from math import ceil; print ceil($NUMBER/500.0)"
o
perl -w -e "use POSIX; print ceil($NUMBER/500.0), qq{\n}"
¿Por qué utilizar lenguajes de script externos? Obtienes piso por defecto. Para obtener ceil, haz
$ divide=8; by=3; (( result=(divide+by-1)/by )); echo $result
3
$ divide=9; by=3; (( result=(divide+by-1)/by )); echo $result
3
$ divide=10; by=3; (( result=(divide+by-1)/by )); echo $result
4
$ divide=11; by=3; (( result=(divide+by-1)/by )); echo $result
4
$ divide=12; by=3; (( result=(divide+by-1)/by )); echo $result
4
$ divide=13; by=3; (( result=(divide+by-1)/by )); echo $result
5
....
Para tener en cuenta los números negativos, puede reforzarlo un poco. Probablemente formas más limpias, pero para empezar
$ divide=-10; by=10; neg=; if [ $divide -lt 0 ]; then (( divide=-divide )); neg=1; fi; (( result=(divide+by-1)/by )); if [ $neg ]; then (( result=-result )); fi; echo $result
-1
$ divide=10; by=10; neg=; if [ $divide -lt 0 ]; then (( divide=-divide )); neg=1; fi; (( result=(divide+by-1)/by )); if [ $neg ]; then (( result=-result )); fi; echo $result
1
(Editado para cambiar let ...
a (( ... ))
.)