Я знаю, что это не дает прямого ответа на вопрос, но с точки зрения читабельности, я думаю, что большинство разработчиков согласятся с тем, что регулярное выражение в одну строку является наиболее распространенным способом выполнения действий и, следовательно, наиболее приемлемым подходом. Кроме того, я не уверен, почему вы включаете точку в каждое из ваших расширений, это нужно использовать только один раз.
Я написал этот маленький скрипт для автоматического добавления всех изображений в SVN. Вы должны иметь возможность просто добавлять расширения между каналами в регулярном выражении, чтобы добавлять или удалять файлы разных типов. Обратите внимание, что он добавляет только файлы, которые не распознаны, так как каждая строка начинается с "?" (^ \?) и заканчивается точкой (\. (extensions) $). Надеюсь, это полезно!
#!/bin/bash
svn st | grep -E "^\?.*\.(png|jpg|jpeg|tiff|bmp|gif)$" > /tmp/svn-auto-add-img
while read output; do
FILE=$(echo $output | awk '{ print $2 }')
svn add $FILE
done < /tmp/svn-auto-add-img
exit 0