array: 数组

一段连续的内存空间

数组的下标从0开始


1、声明一个数组

# declare -a array 


2、数组元素赋值方法

方法1:

array[0]=tom

array[1]=jerry

array[2]=mike

array[6]=natasha


方法2:

array=(tom jerry mike)

array=([0]=tom [1]=jerry [6]=mike)

数组下标可以不连续,但在下标6之前的元素会被初始化为空值

如果某个元素值中有空格,需要使用双引号


3、引用数组元素的值

${array[n]}

n: 数组下标 


# array=([0]=tom [1]=jerry [6]=mike)

# echo ${array[1]}

jerry


4、显示数组中下标为n的元素的字符长度

${#array[n]}


# array=([0]=tom [1]=jerry [6]=mike)

# echo ${#array[6]}

4


5、显示数组中值不为空的元素的个数

${#array[*]}  或者  ${#array[@]}


# array=([0]=tom [1]=jerry [6]=mike)

# echo ${#array[*]}

3




编写脚本,找出数组中最大值

#!/bin/bash

#

# Genrate random element

for i in {0..9};do

  number[$i]=$RANDOM

done


# list arry element

echo "The values of array: "

for i in {0..9};do

  echo -n "${number[$i]} "

done


echo 


# Find the max value

max=${number[0]}

length=${#number[@]}

for i in `seq 1 $((length-1))`;do

  if [ $max -lt ${number[$i]} ];then

       max=${number[$i]}

   fi

done


echo "The max number is $max"