如何检查任何数组元素是否不包含特定字符串

How to check if any array element is not holding a specific string

有没有办法检查数组中的所有元素,并且if数组中的所有元素都没有持有字符串mystring到return为真?例如,如果具有 2 个元素的数组的任何元素持有 mystring 我希望它使它 return 为假,其他任何东西都是真的:

[mystring][mystring] = false/don't do anything
[mystring][A] = false/don't do anything
[@#][mystring]=false/don't do anything
[asda][wrwe]=true

Q: 如何检查具有 n 个元素的数组,如果该数组中的 none 个元素包含任何mystring 以外的其他值应该 return 是吗?

我的尝试是:

    for element_number in `seq 0 $going_through_the_elements_of_the_array`;
    do
          my_var=${the_array[$element_number]}


                if ! [[ $my_var == "$my_string" ]]
                then
                     echo " This should be printed"
                     exit
                fi
    done    

这应该可以满足您的要求:

case ${the_array[@]}
in
  *my string*) echo "true" ;;
  *) echo "false" ;;
esac

它将数组扩展为单个字符串,然后在 case 语句中使用 RE 机制来搜索您的目标。找到的情况打印 true,所有其他情况打印 false。