変数値の文字列を検証する正規表現

変数値の文字列を検証する正規表現
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

関連情報