Вчера с горем попалам написал свой первый скрипт
#!/bin/bash
mkdir jpg_m;
mkdir watermark;
for file in *.jpg
do
convert $file -resize 300x300 jpg_m/"`basename $file .jpg`_m.jpg"
done;
for file in jpg_m/*.jpg
do
width=$(identify -format %w $file)
composite -dissolve 65% -gravity center -quality 100 \( d:/Work/watermarks/logo.png -resize $(( $width / 100 * 90 )) \) $file watermark/"`basename $file .jpg`.jpg"
done;
for file in *.jpg
do
width=$(identify -format %w $file)
composite -dissolve 70% -gravity center -quality 100 \( d:/Work/watermarks/logo.png -resize $(( $width / 100 * 90 )) \) $file watermark/"`basename $file .jpg`.jpg"
done;
for file in '*[^m)]'.jpg
do
convert $file -resize 170x250 "`basename $file .jpg`_s.jpg"
done;
for file in *_s.jpg
do
width=$(identify -format %w $file)
composite -dissolve 70% -gravity center -quality 100 \( d:/Work/watermarks/logo.png -resize $width \) $file watermark/"`basename $file .jpg`.jpg"
done;
for file in watermark/*.jpg
do
curl -T $file ftp://test
done;
Запускал я этот скрипт через mintty который поставлялся вместе при установки с GIT. Но нашел проблему, не высчитывает десятичные значения. Полез в гугл узнал, что нужен BC, попытался этот bc использовать в bash от git и мне выдало, что он не знает, что это такое. Я начал искать как на этот bash поставить bc, но не нашел. Зато нашел Cygwin который может установить этот bc. Установил cygwin, установил bc, попробовал этот bc. Работает! Вставляю код в скрипт, запускаю и получаю
2
3
4
5
6
7
8
9
10
11
12
13
14
15
d:/Work/scripts/sh/script.sh: line 2: $'\r': команда не найдена
d:/Work/scripts/sh/script.sh: line 3: $'\r': команда не найдена
d:/Work/scripts/sh/script.sh: line 5: $'\r': команда не найдена
': Invalid argument @ error/blob.c/OpenBlob/2702.
_.dll': No such file or directory @ warning/module.c/GetMagickModulePath/674.16\modules\coders\IM_MOD_RL_JPG
' @ error/constitute.c/ReadImage/501.his image format `JPG
' @ error/convert.c/ConvertImageCommand/3252.
d:/Work/scripts/sh/script.sh: line 7: $'\r': команда не найдена
d:/Work/scripts/sh/script.sh: line 9: $'\r': команда не найдена
': Invalid argument @ error/blob.c/OpenBlob/2702.
_.dll': No such file or directory @ warning/module.c/GetMagickModulePath/674.Q16\modules\coders\IM_MOD_RL_JPG
' @ error/constitute.c/ReadImage/501.this image format `JPG
/ 100 * 90 ")ошибка синтаксиса: ожидается операнд (error token is "
d:/Work/scripts/sh/script.sh: line 13: syntax error near unexpected token `$'do\r''
':/Work/scripts/sh/script.sh: line 13: `do
Я так понимаю, Cygwin принимает мои \r (след. строки) как за код. Как мне эту ситуацию исправить?