이미지의 크기를 백분율 값으로 조정하는 스크립트가 있습니다.
#!/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는 정수 곱셈만 수행할 수 있습니다.