数组
1.数组定义方法:
方法1:
array=(1 2 3)
echo ${array[*]}
方法2:
array=([1]=one [2]=two [3]=three)
echo ${array[*]}
方法3:
array[0]=a
array[1]=b
array[2]=c
echo ${array[1]}
echo ${array[*]}
此处显示全部的时候显示出了three,是之前定义的数组第四个元素
方法4:动态定义数组变量,并使用命令的输出结果作为数组的内容
array=($(ls /array))
echo ${array[*]}
2.数组的打印和输出
1)打印数组元素
array=(one two three)
echo ${array[0]}
echo ${array[1]}
echo ${array[*]}
echo ${array[@]} ##@与*的作用是一样的
2)打印元素个数
echo ${#array[*]}
echo ${#array[@]} ##括号内#为统计数组内元素个数
3)数组的赋值
#如果下标不存在,则自动添加一个新的元素,如果存在,则覆盖原来的值
array[3]=four
echo ${array[*]}
array[0]=westos
echo ${array[*]} ##如下图数组中第一个元素被代替了,成了westos
4)数组的删除
unset array[1]
echo ${array[*]} ##删除了数组第二个元素
unset array ##删除整个数组
5)数组内容截取和替换
array=(0 1 2 3 4 5 6 7 8 9)
echo ${array[@]:1:3}
array=($(echo {a..z}))
echo ${array[@]}
echo ${array[@]:1:3}
替换
array=(1 2 3 1 1)
echo ${array[@]/1/b} ##把1替换成b
3.作业:利用for循环打印下面这句话中字母个数小于于6的单词
I am westos teacher welcome to westos training class
#!/bin/bash
arr=(I am westos teacher welcome to westos training class)
for ((i=0;i<${#arr[*]};i++))
do
if [ ${#arr[$i]} -lt 6 ];then
echo "${arr[$i]}"
fi
done
ok~