複数の文字列の単語の一致

複数の文字列の単語の一致

以下のコードは正常に動作します。

#!/bin/bash
str='fail'
var1='pass'
var2='ok'
var3='fail'
var4='pass'

case $str in
   $var1|$var2|$var3|$var4)
   echo yes
   ;;
   *) echo no
   ;;
esac

これにより、期待どおりに出力が得られますyes

上記のコードでは、変数の値はハードコーディングされておらず、以前の実行からの値なので、引き続き変更されます。問題は時々これが起こるということです。

var3='partial|fail'

すべての変数値はこの方法で変更できます。したがって、この場合、noこのケースを処理し、失敗した単語を一致させ、結果を表示するためにコードで何を変更する必要がありますかyes

ベストアンサー1

case以下を実行してくださいステル

case $var1$var2$var3$var4 in
   *$str*) 
          echo yes 
   ;;
   *) 
          echo no 
   ;;
esac

おすすめ記事