Bash判断变量值是否在数组内的随记
来自三线的随记
数组基本操作
[root@router ~]# array=( > 123 > 456 > 789 > ) [root@router ~]# echo ${array[*]} 123 456 789 [root@router ~]# echo ${array[@]} 123 456 789 [root@router ~]# echo ${#array} 3
判断变量是否在数组内
Method 1
echo "${array[@]}" | grep -wq "$var" && echo "Yes" || echo "No"
Method 2
for i in ${array[@]} do [ "$i" == "$var" ] && echo "yes" done
Method 3
[[ ${array[@]/${var}/} != ${array[@]} ]] && echo "Yes" || echo "No"
Question: diff ?
[[ ${array[@]/${var}} != ${array[@]} ]] && echo "Yes" || echo "No"
What is the principle ??