以下のコードは正常に動作します。
#!/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