변수 값의 문자열을 검증하는 정규식

변수 값의 문자열을 검증하는 정규식
var1="temp-pprod-deployment"

다음 사용 사례에는 쉘 스크립트가 필요합니다.

위의 변수 $var1 값에 "prod" 문자열이 포함되어 있으면 인쇄 메시지를 실행합니다. 예: echo "Found" else echo "Not Found"

답변1

다음을 수행할 수 있습니다.

var1="temp-pprod-deployment"
if `echo "$var1" | grep -q "prod"` ;then
   echo "\$var1 contains word 'prod'"
else 
   echo "Not found."
fi

설명: 변수의 출력을 가져와서 정규 표현식을 위해 grep으로 파이프하고 있습니다. 이 옵션은 -q성공 시 0(true)을 반환하고 실패 시 1(false)을 반환함을 test나타내는 데 사용됩니다 if.

답변2

bash / 연산자를 사용하여 변수 내용에서 테스트 문자열을 제거하고 해당 작업이 이를 변경하는지 확인하세요. 그렇다면 문자열이 존재한다는 것을 알 수 있습니다.

$ var1="temp-pprod-deployment"
$ var2="temp-pdev-deployment"
$ [ "${var1/prod}" == "$var1" ] && echo not found
$ [ "${var2/prod}" == "$var2" ] && echo not found
not found
$ [ "${var1/dev}" == "$var1" ] && echo not found
not found
$ [ "${var2/dev}" == "$var2" ] && echo not found

OP와 정확히 일치합니다.

if [ "${var1/prod}" != "${var1}" ]
then
  echo "Found."
else
  echo "Not found."
fi

관련 정보