尝试在 bash 中乘以浮点数不起作用

尝试在 bash 中乘以浮点数不起作用

我有这个脚本可以将图像重新缩放为百分比值

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

我的 bash 配置为接受逗号作为小数点分隔符。

所以,为什么我输入

rescale 0,3019

我正在尝试将图像重新缩放为其值的 30.19%

问题是该行

  echo $newWidth $newHeight

显示了乘以 3019 后的值。奇怪的是,第一个回声

echo $percent

显示 0,3019 (正确的值)

我缺少什么?

答案1

就你的标题而言:bash 只能进行整数相乘。

相关内容