Как изменить размер изображения в скрипте bash, используя ImageMagick и полученные переменные? - PullRequest
0 голосов
/ 15 октября 2019

Я написал следующий скрипт для изменения размера изображений, используя информацию из $ array (размеры изображений и ссылки на изображения):

for ((a=0; a < ${#array[*]}; a++))
  do
    imagesize=$(echo "$a: ${array[$a]}" | grep "<icon"| grep -E -o "height=\"(\d+)" | grep -E -o "\d+")
    imagelink=$(echo "$a: ${array[$a]}" | grep "<icon"| grep -E -o "[^\"\'=[:space:]]+\.(jpe?g|png|gif)")
    convert icon.png -resize $imagesizex$imagesize! ../../$imagelink
  done

Однако размер изображения был изменен следующим образом: 36x1024 вместо 36x36. То же самое произошло со всеми другими изображениями (48x1024, 72x1024, 96x1024 ...). Исходное изображение 1024х1024.

Не могли бы вы помочь мне правильно сделать изменение размера. Я полагаю, что в строке:

convert icon.png -resize $imagesizex$imagesize! ../../$imagelink

bash не распознает $ imagesizex. Как избежать этой ошибки?

...