如何检查任何数组元素是否不包含特定字符串
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。
有没有办法检查数组中的所有元素,并且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。