Bash数组

判断某个元素是父在数组内的几种方法

array=( element1 element2 element3 ) var="element1" 需求: 判断 element1 是否存在数组中

  1. 判断方法1

    echo "${array[@]}" | grep -wq "$var" &&  echo "Yes" || echo "No"
  2. 判断方法2: 借助 for 循环

    for i in ${array[@]}
    do
       [ "$i" == "$var" ] && echo "yes"
    done
  3. 判断方法3: bash数组的**==内置方法==**

    [[ ${array[@]/${var}/} != ${array[@]} ]] && echo "Yes" || echo "No"
  4. 获取数组的长度

获取数组长度的方法与获取字符串长度的方法相同,例如:

# 取得数组元素的个数
length=${#array[@]}
# 或者
length=${#array[*]}
# 取得数组单个元素的长度
lengthn=${#array[n]}

Last updated