リスト内に文字列があるかどうかをshellでどのように判定するか

シェルスクリプト内で文字列がリストに含まれているかどうかを判定する場合は、リストをループして判定する方法を使用できます。

以下はコードの例です。

#!/bin/bash

# 列表
list=("apple" "banana" "orange" "grape")

# 需要判断的字符串
str="orange"

# 判断字符串是否在列表中
found=false
for item in "${list[@]}"; do
    if [ "$item" == "$str" ]; then
        found=true
        break
    fi
done

# 输出结果
if [ "$found" == true ]; then
    echo "字符串 '$str' 在列表中"
else
    echo "字符串 '$str' 不在列表中"
fi

上記のコード例では、最初にリストlistと判定する必要がある文字列strが定義されています。その後、forループを使ってリストを繰り返し処理し、各要素と文字列を比較して一致するかどうかを確認します。一致する文字列が見つかった場合、found変数をtrueに設定してループを抜けます。最後に、found変数の値に基づいて結果を出力します。

上記のコードを実行すると、文字列 ‘orange’ がリスト内にある場合に出力されます。もしもstr変数をリストに存在しない文字列に変更した場合、出力結果は文字列 ‘xxx’ がリストに存在しないことを示します。

bannerAds