函数和数组

本文详细介绍了Linux Shell中的数组,包括普通数组和关联数组的定义、赋值及访问方法,并提供了示例代码。此外,还讲解了while和for循环的使用,以及如何在Shell脚本中定义和使用函数,包括传参和函数结果处理。文章通过实例演示了如何利用Shell数组和函数实现特定功能,如统计文件中的信息和计算阶乘。
摘要由CSDN通过智能技术生成

一。

  • 数组
  • 数组简介
  • 变量:用一个固定的字符串,代替一个不固定字符串。

    数组:用一个固定的字符串,代替多个不固定字符串。

  • 类型
  • 普通数组:只能使用整数作为数组索引

    关联数组:可以使用字符串作为数组索引

    图示如下:

    总结:变量切片有个索引的概念。一个索引(整数)对应一个字符。

    普通数组:中的索引对应一个字符串。

    关联数组:数组中的索引可以使用字符串。

    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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值