紐があります
$VAR="I-UAT";
私のシェルスクリプトコードで。その文字列に"UAT"
が存在するかどうかを確認する条件付きステートメントが必要です。
Trueまたはfalseのブール値を出力として取得するには、どのコマンドを使用する必要がありますか?またはそれをチェックする他の方法はありますか?
どんなシェル? bashの使用:
if [[ "$VAR" =~ "UAT" ]]; then
echo "matched"
else
echo "didn't match"
fi
あなたはこの方法でそれを行うことができます:
case "$VAR" in
*UAT*)
# code when var has UAT
;;
esac
探している文字列が事前にわかっている場合の古典的な方法は、case
ステートメントです。
case "$VAR" in
*UAT*) : OK;;
*) : Oops;;
esac
:
コマンドの代わりに適切なコマンドを使用できます。これは、Bashだけでなく、BourneおよびKornシェルでも機能します。
found=`echo $VAR | grep -c UAT`
次に、$ foundがゼロ以外かどうかをテストします。
bash
スクリプトで使用できます
if [ "$VAR" != "${VAR/UAT/}" ]; then
# UAT present in $VAR
fi
grepで試してください:
$ echo I\-UAT | grep UAT
$ echo $?
0
$ echo I\-UAT | grep UAX
$ echo $?
1
そうテスト
if [ $? -ne 0 ]; then
# not found
else
# found
fi