数组的定义:
#! /bin/bash
#declare定义数组
declare -a array
array[1]=10
array[2]=20
echo "array is ${array[@]}"
数组的输出:
#! /bin/bash
#定义数组
array=(1 array 3 4 5 6 7 8 9)
#输出第一个数组元素
echo "the frist element is ${array[1]}"
#输出所有元素
echo "the element of this array ${array[@]}"
#输出数组长度
echo "the size of the array is ${#array[@]}"
关联数组:
#! /bin/bash
#声明数组
#演示关联数组的使用方法
declare -A array
#赋值
array=(["flower"]='rose' [fruit]="apple")
#输出第一个元素
echo "first is ${array[flower]}"
#输出第二个元素
echo "the fruit is ${array[fruit]}"
#输出数组长度
echo "size is ${#array[@]}"
#输出所有键值
echo "${!array[@]}"
#输出所有值
echo "${array[@]}"
for循环数组赋值并输出
#! /bin/bash
for ((i=1;i<11;i++))
do
array[i]="$i"
done
for ((i=1;i<11;i++))
do
echo "array[$i] is $i"
done
echo "${array[@]}"
数组的截取:
#! /bin/bash
array=(1 2 3 4 5 6 7)
for e in "${array[@]}"
do
echo "$e"
done
#数组切片方式获取部分数组元素
echo ${array[@]:2:4}
#切片获取元素赋给变量
var=${array[@]:3:3}
echo "$var"
#切片方法以数组来保存
array=(${array[@]:2:2})
len="${#array[@]}"
for ((i=0;i<len;i++))
do
echo "${array[$i]}"
done
数组中值的替换
#! /bin/bash
array=(1 2 3 4 5 6 7 8)
#输出替换结果
echo "the result is ${array[@]/3/100}"
#输出数组
echo "the ols array is ${array[@]}"
#将替换的赋给新的数组
array=(${array[@]/3/100})
echo "the new array is ${array[@]}"
加载文件内容:
#! /bin/bash
#加载文件内容
conetent=(`cat "demo.txt"`)
for s in "${conetent[@]}"
do
echo "s is $s"
done
demo.txt:
ubuntu fedore
suse user
fedora
uts
数组中删除元素,删除数组,数组的赋值,数组的连接
#! /bin/bash
array=(1 2 3 4 5 6 7)
echo "old array len is ${#array[@]} "
echo "old array is ${array[@]}"
#删除元素
unset array[1]
echo "new array len is ${#array[@]} "
echo "new array is ${array[@]}"
#删除数组
unset array
echo "del array is ${array[@]}"
a1=(1 2 3 4 5)
#数组的复制
a2=(${a1[@]})
echo "a1 is ${a1[@]} a2 is ${a2[@]}"
a3=(a b c d e f)
#数组的连接
a4=(${a2[@]} ${a3[@]})
echo "a3 is ${a3[@]}"
echo "a4 is ${a4[@]}"