!!下部の説明を必ずお読みください
方法1?
strA="long string"
strB="string"
result=$(echo $strA | grep "${strB}")
if [[ "$result" != "" ]]
then
echo "包含"
else
echo "不包含"
fi
方法2?
strA="helloworld"
strB="low"
if [[ $strA =~ $strB ]]
then
echo "包含"
else
echo "不包含"
fi
方法3?
A="helloworld"
B="low"
if [[ $A==*$B* ]]
then
echo "包含"
else
echo "不包含"
fi
方法4?
thisString="1 2 3 4 5" # 源字符串
searchString="1 2" # 搜索字符串
case $thisString in
*"$searchString"*) echo "包含" ;;
*) echo "不包含" ;;
esac
方法5?
STRING_A=$1
STRING_B=$2
if [[ ${STRING_A/${STRING_B}//} == $STRING_A ]];then
## is not substring.
echo "包含"
exit 0
else
## is substring.
echo "不包含"
exit 1
fi
説明!
シェルスクリプトについてはあまり詳しく調べていません。実際の開発では、プロセス全体をスムーズに操作したい場合は条件付き判定を使用しますが、上記の方法を多く検索するために百度に行くことはしません。
背後にある方法を見ますか?とった!
いくつかの方法で落とし穴があります!
方法2 [[=〜]]
方法3 [[== **]]
これらの2つの実際のテストは、thenが確立されたコードブロックでのみ実行されます。以下の写真は、自分でテストできます。
================================================== =========================
================================================== =========================
利用可能な方法
方法1、grep
注意すべきことがいくつかあります
if [[ "$ result"!= "" ]]
!=左側と右側に スペースが必要です
[[右側にスペースが必要です ]]左側にスペースが必要です 方法4、ケースイン
inの後の各オプションは、ワイルドカード*で始まり、角かっこで終わります)
各オプションの下のコードブロックは、二重のセミコロンで終わります;;
最後の選択の後にesacで終了します