一。
- 数组
- 数组简介
-
变量:用一个固定的字符串,代替一个不固定字符串。
数组:用一个固定的字符串,代替多个不固定字符串。
- 类型
-
普通数组:只能使用整数作为数组索引
关联数组:可以使用字符串作为数组索引
图示如下:
总结:变量切片有个索引的概念。一个索引(整数)对应一个字符。
普通数组:中的索引对应一个字符串。
关联数组:数组中的索引可以使用字符串。
1.普通数组
赋值方法一:一个赋一个值
格式:数组名[下标]=变量值
#array[0]=pear
#array[1]=apple
#array[2]=orange
#array[3]=peach
赋值方法二:一次赋多个值
#array=(tom jack alice)
#array=(`cat /etc/passwd`) //将该文件中每一行作为一个元素赋值给数组array
#array=(`ls /var/ftp/shell/for*`) //将目录下的各文件作为元素输出给数组
#array=(tom jack alice “bash shell”)
#red=红色
blue=蓝色
green=绿色
colors=($red $blue $green)
查看数组:
#declare -a | grep array
echo
#查看所有元素 echo ${array[@]} 等于echo ${array[*]}
访问数组元素:
#访问数组中第一个元素 echo ${array[0]}
#统计数组中元素的个数 echo ${#array[*]}
#获取数组元素的索引 echo ${!array[*]}
#从数组下标1开始 echo ${array[*]:1}
#从数组下标1开始,访问两个数据 echo ${array[@]1:2}
- 关联数组(先声明)
-
赋值方法一: 一次赋一个值:数组名[索引]=变量值
#declare -A ass
#ass[index1]=pear
#ass[index2]=apple
#ass[index3]=orange
查看#echo ${ass[@]}
# declare -A | grep ‘ass’
赋值方法二:一次赋多个值
#declare -A bss
#bss=([index1]=tom [index2]=jack [index3]=alice )
访问数组元素
#echo ${bss[index1]} 访问数组中的第二个数组
#echo ${bss[@]} = echo ${bss[*]} 访问数组中所有元素
#获得数组中元数的个数 echo ${#bss[*]}
#获得数组元数的索引 echo ${!bss[*]}
While 语句按行分割
For语句按空格分割
示例如下
#vim while.sh
#!/usr/bin/bash
while read line
do
host[i++]=$line
done < /etc/hosts
for i in ${!host[*]}
do
echo “索引是$i :值是${host[$i]}”
done