Shell脚本之数组

这篇博客详细介绍了Shell脚本中数组的基本使用,包括定义、读取、赋值及访问元素的方法。此外,还展示了如何操作关联数组,并给出了一个学员信息系统的案例,演示了如何在脚本中读取、存储和查询用户输入的数据。

基本数据

  1. 数组语法
    数组名称=(元素1 元素2 元素3)
  2. 数组读出
    ${数组名称[索引]}
  3. 数组赋值
    方法一:一次赋一个值
array0[0]='tom'

方法二:一次赋多个值

  array2=(tom jack alice)
  array3=(`cat /etc/password`)
  1. 查看数组
declare -a
  1. 访问数组元素
echo ${array[0]}     # 访问数组中的第一个元素
echo ${array[@]}     # 访问数组中所有元素,等同于echo ${array[*]}
echo ${#array[@]}    # 统计数组元素的个数
echo ${!array[@]}    # 获取数组元素的索引
echo ${array[@]:1}   # 从数组下标1开始
echo ${array[@]:1:2} # 从数组下标1开始,访问两个元素

关联数组

  1. 定义关联数组
declare -A array1
declare -A array2
  1. 关联数组赋值
    方法一:一次赋一个值
    array[index1]=pear
    array[index2]=apple
    array[index3]=orange

方法二:一次赋多个值
array=([index1]=tom [index2]=jack [index3]=alice [index4]=‘zozo’)

示例:

#!/bin/bash
# 声明一个关联数组
declare -A array1
declare -A array2
array1[name]='basim'
array1[age]=18
echo ${array1[name]}     #  basim

array2=([name]='zozo' [age]=20)
echo ${array2[name]}  # zozo
  1. 查看数组
    declare -A

案例分享—学员信息系统

#!/bin/bash
for ((i=0;i<3;i++))
do
   read -p "输入第$((i+1))个人名:" name[$i]
   read -p "输入第$[$i + 1]个年龄:" age[$i]
   read -p "输入第`expr $i + 1`个性别:" gender[$i]
done

clear
echo -e "\t\t\t\t学员查询系统"
while:
   do
     cp=0
     echo -e '\t\t\t\t学员查询系统'
     read -p "输入要查询的姓名:" xm
     [ $xm == 'Q' ]&&exit
     for((i=0;i<3;i++))
     do
     	if [ "$xm" == "${name[$i]}" ];then
     		echo "${name[$i]} ${age[$i]} ${gender[$i]}"
     		cp=1
        fi
     done
     [ $cp -eq 0 ]&&echo "not found student"
done
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值