Bashで文字列に部分文字列が含まれているかどうかを確認する方法 質問する

Bashで文字列に部分文字列が含まれているかどうかを確認する方法 質問する

Bash に文字列があります:

string="My string"

別の文字列が含まれているかどうかをテストするにはどうすればよいですか?

if [ $string ?? 'foo' ]; then
  echo "It's there!"
fi

??不明な演算子はどこにありますか。echoおよび を使用しますかgrep?

if echo "$string" | grep 'foo'; then
  echo "It's there!"
fi

ちょっと不器用そうですね。

ベストアンサー1

使用できますマーカスの回答(*ワイルドカード)二重括弧を使用する場合は、case ステートメントの外側でも次のようになります。

string='My long string'
if [[ $string == *"My long"* ]]; then
  echo "It's there!"
fi

ニードル文字列内のスペースは二重引用符で囲む必要があり、ワイルドカードは外側に配置する必要があることに注意してください。また、正規表現演算子 ではなく、*単純な比較演算子 (つまり ) が使用されていることにも注意してください===~

おすすめ記事