4つの変数のいずれかがkshで&red文字列で始まることを確認してください。

4つの変数のいずれかがkshで&red文字列で始まることを確認してください。

4つの変数のうちの1つが文字列 "&red"で始まることを確認し、一致するものが機能するようにします。現在私はこれを持っています。

if [[ $filemsgCICS = "&red"* || $filemsgCICSU1 = "&red"* || $snufmsgCICS = "&red"* || $snufmsgCICSU1 = "&red"* ]];then

しかし、これはうまくいきません。効果的な解決策が見つからないようです。 '&red'*と\&red*を試しましたが、どちらも機能しません。

ベストアンサー1

${variable:offset:length} 構文を使用して、次のように変数の一部を取得できます。

if [[ ${filemsgCICS:0:4} = "&red" || ${filemsgCICSU1:0:4} = "&red" || \
  ${snufmsgCICS:0:4} = "&red" || ${snufmsgCICSU1:0:4} = "&red" ]]; then

編集する:*が[[]]と一致しないという意見が間違っています。変数に期待されるテキストが含まれている場合でも、アプローチは機能するはずです。だからこれは単なる選択肢です。

おすすめ記事