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