> For the complete documentation index, see [llms.txt](https://close.gitbook.io/yun-wei-bi-ji/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://close.gitbook.io/yun-wei-bi-ji/centos/shell/bash-shu-zu.md).

# 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]}
```
