Tentando multiplicar um float no bash não funciona

Tentando multiplicar um float no bash não funciona

Eu tenho esse script que serve para redimensionar imagens para um valor percentual

#!/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

Meu bash está configurado para aceitar vírgulas como separadores decimais.

Então, o que eu digito

rescale 0,3019

Estou tentando redimensionar as imagens para 30,19% de seus valores

o problema é que a linha

  echo $newWidth $newHeight

me mostra os valores multiplicados por 3019. Estranhamente, o primeiro eco

echo $percent

me mostra 0,3019 (o valor correto)

o que estou perdendo?

Responder1

Para o seu título: o bash só pode multiplicar números inteiros.

informação relacionada