Intentar multiplicar un flotante en bash no funciona

Intentar multiplicar un flotante en bash no funciona

Tengo este script que sirve para cambiar la escala de las imágenes a un valor porcentual.

#!/bin/bash

percent=$1
echo $percent


for img in `find *.png`;
do
  echo Processing file $img
  width=$( mdls $img  | grep kMDItemPixelWidth | tail -n1 | cut -d= -f2 )
  height=$( mdls $img | grep kMDItemPixelHeight | tail -n1 | cut -d= -f2 )

  newWidth=$((width*percent))
  newHeight=$((height*percent))
  echo $newWidth $newHeight
  sips -z $newWidth $newHeight $img
done

Mi bash está configurado para aceptar comas como separadores decimales.

Entonces, ¿por qué escribo?

rescale 0,3019

Estoy intentando cambiar la escala de las imágenes al 30,19% de sus valores.

el problema es que la linea

  echo $newWidth $newHeight

me muestra los valores tal como fueron multiplicados por 3019. Curiosamente el primer eco

echo $percent

me muestra 0,3019 (el valor correcto)

¿Qué me estoy perdiendo?

Respuesta1

Para su titular: bash solo puede multiplicar números enteros.

información relacionada