zoukankan      html  css  js  c++  java
  • Linux Shell数组常用操作详解

    Linux Shell数组常用操作详解

    1数组定义:

    declare -a 数组名

    数组名=(元素1 元素2 元素3 )

    1 declare -a array
    2 array=(1 2 3 4 5)

    数组用小括号括起,数组元素之间用空格分开

    2显示数组长度:

    [@tc_132_227 dm_pid_day]$ echo ${#array[@]}
    5
    [@tc_132_227 dm_pid_day]$ echo ${#array[*]}
    5

    命令:

    ${#数组名[@或*]} 获取数组长度,若数组无元素,输出空

    3读取数组元素:

    [@tc_132_227 dm_pid_day]$ echo ${array[0]}
    1
    [@tc_132_227 dm_pid_day]$ echo ${array[1]}
    2
    [@tc_132_227 dm_pid_day]$ echo ${array[4]}
    5
    [@tc_132_227 dm_pid_day]$ echo ${array[*]}
    1 2 3 4 5
    [@tc_132_227 dm_pid_day]$ echo ${array[@]}
    1 2 3 4 5

    命令:
    ${数组名[下标]},数组下标从0开始,且下标为*或者@符号时,读取整个数组元素

    4 对数组元素赋值:

    [@tc_132_227 dm_pid_day]$ echo ${array[@]}
    1 2 3 4 5
    [@tc_132_227 dm_pid_day]$ array[1]=9
    [@tc_132_227 dm_pid_day]$ echo ${array[@]}
    1 9 3 4 5
    [@tc_132_227 dm_pid_day]$ array[8]=7
    [@tc_132_227 dm_pid_day]$ echo ${array[@]}
    1 9 3 4 5 7
    [@tc_132_227 dm_pid_day]$

    命令:

    数组名[下标]=元素 进行赋值  若下标不存在,则数组会自动增加一个新的元素

    5删除数组元素:

    [@tc_132_227 dm_pid_day]$ unset array[0]
    [@tc_132_227 dm_pid_day]$ echo ${array[@]}
    2 3 4 5
    [@tc_132_227 dm_pid_day]$ echo ${#array[*]}
    4
    [@tc_132_227 dm_pid_day]$ unset array[1]
    [@tc_132_227 dm_pid_day]$ echo ${array[*]}
    3 4 5
    [@tc_132_227 dm_pid_day]$ echo ${#array[*]}
    3
    [@tc_132_227 dm_pid_day]$ unset array
    [@tc_132_227 dm_pid_day]$ echo ${array[*]}
    
    [@tc_132_227 dm_pid_day]$

    命令:

    unset 数组名[下标]可以删除数组元素,  unset 数组名  删除整个数组

    6数组分片:

    [@tc_132_227 dm_pid_day]$ echo ${array[@]}
    1 2 3 4 5
    [@tc_132_227 dm_pid_day]$ echo ${array[@]:0:1}
    1
    [@tc_132_227 dm_pid_day]$ echo ${array[@]:1:1}
    2
    [@tc_132_227 dm_pid_day]$ echo ${array[@]:1:3}
    2 3 4
    [@tc_132_227 dm_pid_day]$ arr=(${array[@]:1:3})
    [@tc_132_227 dm_pid_day]$ echo ${arr[@]}
    2 3 4
    [@tc_132_227 dm_pid_day]$ echo ${#arr[@]}
    3
    [@tc_132_227 dm_pid_day]$

    命令: 

    ${数组名[@|*]:起始下标:长度} 会将原数组分片,并返回以“空格”为分隔符的一个字符串,若对该字符串外加"()“,则会得到一个新的分片数组

  • 相关阅读:
    任何优秀的程序员, 都有早逝的风险
    租车App第一次迭代报告
    快租车app——需求分析心得
    结对编程——自动生成数学试卷的系统(javaswing,mysql)by 陈松&刘宇航
    结队编程之——阅读分析队友的代码(C++自动生成数学试卷)
    自动生成不同难度的数学试卷系统,并输出到txt文件中,命名为当前时间(java)
    代码之美——浅谈命名规则与代码优化
    关于防抖和节流
    关于sessionStorage和localstorage的一些记录
    vue应用微信二维码登录的一些记录
  • 原文地址:https://www.cnblogs.com/dlml/p/4213329.html
Copyright © 2011-2022 走看看