Я написал следующий скрипт для изменения размера изображений, используя информацию из $ 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. Как избежать этой ошибки?