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