Find 및 Grep은 프롬프트를 통해 제대로 작동하지만 Jenkins를 통해서는 작동하지 않습니다.

Find 및 Grep은 프롬프트를 통해 제대로 작동하지만 Jenkins를 통해서는 작동하지 않습니다.

아래 명령을 사용 find하여 일부 파일을 필터링하려고 합니다 .grep

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

재미있는 점은 서버 프롬프트의 명령을 통한 작업은 잘 작동하지만 셸 빌드 단계를 통한 작업은 다소 그렇지 않다는 것입니다. {}파일 형식을 둘러싸고 있는 항목을 제거 하고 그대로 두면 --exclude=*.java작동하기 때문입니다.

내 질문은 다음과 같습니다

  1. 무슨 일이야?
  2. 정규식에서 다른 방법으로 할 수 있나요?

답변1

문제는 서버를 테스트하고 있었는데 bashJenkins가 sh. 이 구성을 수정한 후에는 쉘 스크립트 실행을 목표로 /bin/bash제대로 작동했습니다.

관련 정보