program story

명령 출력에 쉘 스크립트의 특정 문자열이 포함되어 있는지 확인

inputbox 2020. 9. 18. 08:09
반응형

명령 출력에 쉘 스크립트의 특정 문자열이 포함되어 있는지 확인


셸 스크립트를 작성 중이며 명령 출력에 특정 문자열이 포함되어 있는지 확인하려고합니다. 아마도 grep을 사용해야한다고 생각하지만 어떻게해야할지 모르겠습니다. 아는 사람 있나요?


grep의 반환 값을 테스트합니다.

./somecommand | grep 'string' &> /dev/null
if [ $? == 0 ]; then
   echo "matched"
fi

관용적으로 다음과 같이 수행됩니다.

if ./somecommand | grep -q 'string'; then
   echo "matched"
fi

그리고 또한:

./somecommand | grep -q 'string' && echo 'matched'

테스트 $?는 안티 패턴입니다.

if ./somecommand | grep -q 'string'; then
  echo "matched"
fi

또 다른 옵션은 명령 출력에서 ​​정규식 일치를 확인하는 것입니다.

예를 들면 :

[[ "$(./somecommand)" =~ "sub string" ]] && echo "Output includes 'sub string'"

참고 URL : https://stackoverflow.com/questions/16931244/checking-if-output-of-a-command-contains-a-certain-string-in-a-shell-script

반응형