私は2つの文字列が同じ値であるかどうかを示すbashスクリプトを書こうとしています。Ubuntuのbashスクリプトの文字列に似たような言葉が含まれています
#!/bin/bash
value="java.lang.NullPointerException"
if [[ "java.lang.NullPointerException" = "$value" || "java.lang.NullPointerException" == "$value"* ]]; then
echo "Match"
fi
基本的に私はachiveたいもの、2つの文字列が等しい値または非常に類似した側のいずれかでなく、途中でテキストを一致しているならば、「マッチ」をエコーということです:私はこのbashスクリプトを生成しています。
私は数多くのリソースを試しましたが、この例を動作させることはできません。これらの値は、最終的にテキストファイルから来る注意などの値は、変数の形になりますしてください
- In bash, how can I check if a string begins with some value?
- How to test that a variable starts with a string in bash?
- https://ubuntuforums.org/showthread.php?t=1118003
:私は見てとっています。私はさまざまなアプローチを試みましたが、それを働かせるようには思われません。私はちょうどこのif文が機能するようにしたい。これは、テキストを一致させるためには機能しますが、いずれの側にも値はありません値は "java.lang.NullPointerException:Unexpected"または "予期しないjava.lang.NullPointerException"である可能性があります。
オペランドの順序が間違っています: 'in =" test this "; [["$ in" = "test" *]] && echo ok'はうまく動作します(追加の '='テストは必要ありません)。これはパターンとして '*' – Aaron
ありがとうと使用されなければならない最短の値です。それはうまくいった。 –
大歓迎です!私はあなたの質問を今解決されたとして削除することをお勧めし、ちょうどリンクされた質問への回答の誤った実装についてでした。 – Aaron