shell 数组

数组的定义:

#! /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[@]}"

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值