# Bash数组



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

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

1.  判断方法1

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

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

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

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

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