Я написал скрипт, который конвертирует изображения в папку. Скрипт использует цикл for:
i="1" for file in *.jpg; do outputFile=$(echo "image"$(echo $i)) convert "$file" -resize 50x50 $outputFile i=$[i+1] done
То, что я хочу сделать, это позволить сценарию работать с несколькими расширениями типов файлов. Теперь я попытался сделать:
for file in *.jpg *.JPG *.jpeg; do .... done
Проблема с этим заключается в том, что если вы находитесь в папке со всеми *.JPG и нет * .jpg, скрипт по-прежнему сталкивается с i+1, хотя изображений не было, потому что он все равно запускает цикл for, не найдя * .jpg, на который он идет *.JPG.
Как я могу настроить таргетинг на несколько расширений файлов, не запуская их для каждого типа? Пример, является ли их синтаксис примерно таким:
for file in [*.jpg | *.JPG]; do ...
?
Таким образом, моя выходная папка всегда содержит изображения, помеченные так:
image1.jpg
image2.jpg
image3.jpg
так далее..
Вместо того, чтобы в конечном итоге отсутствовала папка image1.jpg, потому что в ней не было * .jpg для запуска в первую очередь.