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