码迷,mamicode.com
首页 > 编程语言 > 详细

Linux中的shell脚本编程——数组 ,高级字符串操作 ,高级变量 ,配置用户环境

时间:2016-08-24 17:37:11      阅读:277      评论:0      收藏:0      [点我收藏+]

标签:字符串   linux   用户   空间   元素   

概述:

 概述: 

    本章节将讲述Linux中shell脚本编程的数组,高级字符串处理,高级变量和配置用户的环境。

     

 一、函数和位置参数扩展

      1.shift 命令实现在位置参数中的跳跃,会把最左边的参数挤掉

技术分享技术分享     2.匿名函数的使用

技术分享


 第一篇:数组

  一.数组的定义:

     1.变量:存储单个元素的内存空间

     2.数组:存储多个元素的连续的内存空间,相当于多个变量的集合

     3.数组名索引

         索引:编号从0开始,属于数值索引

         注意:索引可支持使用自定义的格式,而不仅是数值格式,即为关联索引,bash4.0版本之后开始支持。

技术分享         bash的数组支持稀疏格式(索引不连续)

     4.声明数组:

        declare -a ARRAY_NAME

        declare -A ARRAY_NAME: 关联数组(必须先声明再使用)


二、数组元素的赋值

  1.一次只赋值一个元素;

       ARRAY_NAME[INDEX]=VALUE

       weekdays[0]="Sunday"

       weekdays[4]="Thursday"

    示例:

      declare -a menu 最好要先声明数组 

技术分享

  2.一次赋值全部元素:

       ARRAY_NAME=("VAL1" "VAL2" "VAL3" ...)

技术分享

     下面这些方法也可以:命令引用,glob通配符等

技术分享

技术分享


  3.只赋值特定元素:

       ARRAY_NAME=([0]="VAL1" [3]="VAL2" ...)

技术分享

  4.交互式数组值对赋值

      read -a ARRAY

技术分享


三、引用数组

    1.引用数组元素:${ARRAY_NAME[INDEX]}

      注意:省略[INDEX]表示引用下标为0的元素

技术分享

    2.数组的长度(数组中元素的个数)

        ${#ARRAY_NAME[*]}

        ${#ARRAY_NAME[@]}

技术分享

   其实,{}里面是一个变量,${#VAR}就表示变量的长度,前面学到的$#,表示传递给脚本的参数个数。

技术分享


  练习

     1.生成10个随机数保存于数组中,并找出其最大值和最小值

技术分享

技术分享

     2.写一个脚本,定义一个数组,数组中的元素是/var/log目录下所有以.log结尾的文件;要统计其下标为偶数的文件中的行数之和。

技术分享

Linux中的shell脚本编程——数组 ,高级字符串操作 ,高级变量 ,配置用户环境

标签:字符串   linux   用户   空间   元素   

原文地址:http://1992tao.blog.51cto.com/11606804/1842024

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!