Find и Grep работают правильно через командную строку, но не через Jenkins

Find и Grep работают правильно через командную строку, но не через Jenkins

Я пытаюсь отфильтровать некоторые файлы с помощью findследующей grepкоманды:

find . -type f -exec grep -q --exclude=*.{cpp,gradle,java,ttf,txt,xml,md} . {} \; -and -print

Самое смешное: через команду в строке сервера все работает нормально, а через шаг сборки Shell как бы нет. Как бы потому, что если я уберу теги, которые {}окружают типы файлов, и оставлю eg, --exclude=*.javaто все работает.

У меня есть вопросы:

  1. Что происходит?
  2. Можно ли сделать это по-другому в регулярном выражении?

решение1

Проблема была в том, что я тестировал сервер, bashно мой Jenkins был настроен на использование sh. После того, как я исправил эту конфигурацию, запуск скриптов Shell заработал /bin/bashправильно.

Связанный контент