zoukankan      html  css  js  c++  java
  • Linux 中数组的使用

    Linux中数组本人可能用的相对较少,但是会经常遇见,也容易忘记,就顺便记录下来吧

    数值类型的数组:一对括号表示数组,数组中元素之间使用“空格”来隔开

    arr=(1 2 3 4 5)

    字符串类型数组:同样,使用一对括号表示数组,其中数组中的元素使用双引号或者单引号包含,同样使用“空格”来隔开

    arr=('a' 'b' 'c')

    数组的任何元素都可以用${arr[下标]}来引用,花括号是必须的,以避免和路径扩展冲突。 

    数组的操作

    以数值型数组为例:arr=(1 2 3 4 5)

    1.计算数组的长度

    len=${#arr[*]}

    2、输出所有数组的值

    如果 [下标] 是@或是*,它扩展为arr的所有成员。这两种下标只有在双引号中才不同。在双引号中,${name[*]}扩展为一个词,由所有数组成员的值组成,
    用特殊变量IFS的第一个字符分隔数组成员;${arr[@]}将arr的每个成员扩展为一个词。 如果数组没有成员,${arr[@]} 扩展为空串。

    3、输出数组的单个元素值(数组下标值从0开始,所以5值为空)

    4、在shell脚本中数组和read的结合使用

     5、数组结合函数和read一起使用 使用$@和”$@“以及$*

    输出结果

    使用"$*"时

    输出结果

     6、来点新的(鬼知道有啥用)

    向函数传递的参数是$arg1,我们知道不能向函数传递一个数组,而应该是遍历的数组的值,所以在arg1赋值这里,不能写arg1=(${echo ${myarray[*]})),
    这样相当于arg1是一个数组了,而arg1=$(echo ${myarray[*]})返回的则是1 2 3 4 5单个的输出值;函数的返回同理,返回的是单个的数值,接受的时候加上(),组成数组

    输出结果

    7、结合read传递参数型(稍微灵活点,更加不知道有什么鬼用,鸟改哈就阔以啦,估计很少会用这些吧)

     输出结果

     正好看到这些,研究了很久,起初都是一脸懵逼,写出来不知道有没有啥子用,我工作的地方好像都没用到额,有点尴尬!!!

  • 相关阅读:
    Maven学习
    Android屏幕适配
    Java多线程中的死锁问题[转]
    数据结构基本概念和算法分析
    AsyncTask(异步任务)
    Android自定义滑动开关按钮
    记录一些我记不住的技术
    2017携程Web前端实习生招聘笔试题总结
    JavaScript ES5面向对象实现一个todolist
    原生JavaScript实现一个简单的todo-list
  • 原文地址:https://www.cnblogs.com/python2687806834/p/9851412.html
Copyright © 2011-2022 走看看