以下のコードでは2
一致しないはず21
ですが、結果は「一致」です。
SOURCE
値が内側にあるかどうかを確認できますかLIST
?
LIST="1,21,3,4"
SOURCE="2"
if echo "$LIST" | grep -q "$SOURCE"; then
echo "matched";
else
echo "no match";
fi
ベストアンサー1
標準技術は
if echo ",$LIST," | grep -q ",$SOURCE,"
then
echo "matched"
else
echo "no match"
fi
(またはと言うこともできますgrep -q ",$SOURCE," <<< ",$LIST,"
)。検索は2
一致します21
が、検索は,2,
一致しません,21,
。探している数字が最初または最後の数字$LIST
の場合は、始めと終わりにコンマを追加する必要があります。$SOURCE
grep -q ",1," <<< "1,21,3,4"
失敗するでしょう。