Automator Script для просмотра папок и сжатия JPEG с помощью Guetzli - PullRequest
0 голосов
/ 18 октября 2018

Я пытаюсь создать действие папки для сжатия изображений с guetzli .Я смотрю папку с изображениями и, если в имени файла есть изображение без 'compp', я запускаю guetzli.Вот сценарий.Он отлично работает, если я запускаю его из automator, но когда я сохраняю его, он идет по бесконечному циклу и создает несколько версий одного и того же файла и добавляет к нему compp, то есть `test-compp.jp, test-compp-compp.jpg».Не уверен, что мне не хватает.

for img in "$@"
do
filename=${img%.*}-compp
    /usr/local/Cellar/guetzli/1.0.1/bin/guetzli --quality 85 "$img" "$filename.jpg"
    echo "$img"
done

enter image description here

1 Ответ

0 голосов
/ 18 октября 2018

Вам не хватает условия, чтобы проверить, что в имени файла еще нет строки compp.Поэтому каждый раз создается новый файл, который будет вызывать новое выполнение до бесконечности.

Добавление условного выражения должно работать, т. Е.

for img in "$@"; do
    [[ $img == *"compp"* ]] && continue
    filename=${img%.*}-compp
    /usr/local/Cellar/guetzli/1.0.1/bin/guetzli --quality 85 "$img" "$filename.jpg"
    echo "$img"
done
...