Shell数组的增删改查

shell数组的定义及取值:

a=(1 2 3)
[root@bogon tmp]# echo ${a[*]} 
1 2 3
[root@bogon tmp]# echo ${a[@]}
1 2 3
 
增加数组元素:
[root@bogon tmp]# a[3]=4
[root@bogon tmp]# echo ${a[@]}
1 2 3 4
 
修改数组元素:
[root@bogon tmp]# a[0]=freddy  
[root@bogon tmp]# echo ${a[@]}
freddy 2 3 4
 
清空数组:
[root@bogon tmp]# unset a
[root@bogon tmp]# echo ${a[@]}
 
删除数组的指定值:
[root@bogon tmp]# echo ${a[@]}
1 2 3
[root@bogon tmp]# unset a[0]  
[root@bogon tmp]# echo ${a[@]}
2 3
 
取指定数组范围:
[root@bogon tmp]# a=(1 2 3 4 5)
#从下标1开始取,取3位。
[root@bogon tmp]# echo ${a[@]:1:3}  
2 3 4
 
把数组 值3替换成freddy字符串:
[root@bogon tmp]# echo ${a[@]/3/freddy}
1 2 freddy 4 5
[root@bogon tmp]#
 
统计数组中的值得个数:
a = (a b c)
[root@bogon tmp]# echo ${#a[*]}
3
 
 统计数组内的元素个数:
[root@slavedb test]# a=(1 2 3)
[root@slavedb test]# echo ${#a[@]}
3
 
统计变量的长度是多少:
[root@slavedb test]# b=1234
[root@slavedb test]# echo ${#b}
4
 
取数组内的单个元素:

[root@slavedb test1]# a=(a b c)
[root@slavedb test1]# echo ${a[0]}
a
[root@slavedb test1]# echo ${a[1]}    
b
[root@slavedb test1]# echo ${a[2]}  
c

取出数组内所有的值:
[root@slavedb array]# echo ${array[@]}
1 2 3

[root@slavedb array]# echo ${array[*]}
1 2 3

截取数组元素的一部分:
[root@slavedb array]# array=(1 2 3 4 5)
[root@slavedb array]# echo ${array[@]:1:3}
2 3 4
[root@slavedb array]#

修改数组,并没有真正的修改:
[root@slavedb array]# echo ${array[@]/2/888}
1 888 3 4 5
[root@slavedb array]# array=(1 2 3 4 5)     
[root@slavedb array]# echo ${array[@]}      
1 2 3 4 5
[root@slavedb array]# echo ${array[@]/2/888}
1 888 3 4 5
[root@slavedb array]#

数组key=value的定义方法:
[root@slavedb array]# array=([1]=one [2]=two [3]=three)
[root@slavedb array]# echo ${array[@]}
one two three
[root@slavedb array]# echo ${array[1]}
one
[root@slavedb array]# echo ${array[3]}
three

数组常用的定义方法:
[root@slavedb array]# array=($(pwd) $(w) $(uptime))
[root@slavedb array]# echo ${array[0]}             
/tmp/array
[root@slavedb array]#

 

Shell数组的增删改查的更多相关文章

  1. js数组的增删改查

    array 数组的增删改: push 从数组后面推入一个元素或多个元素 var arr = [1,2,3]; ​ // 返回:修改后数组的长度 arr.push(4,5,6); pop 删除数组最后一 ...

  2. JavaScript数组:增删改查、排序等

    直接上代码 // 数组应用 var peoples = ["Jack","Tom","William","Tod",&q ...

  3. JavaScript中数组的增删改查

                                               数组的增加 ary.push()   向数组末尾添加元素,返回的是添加后新数组的长度,原有数组改变 ary.uns ...

  4. java数组的增删改查

    import java.util.List; import java.util.ArrayList; import java.util.Set; import java.util.HashSet; p ...

  5. Javascript/Jquery操作数组,增删改查以及动态创建HTML元素

    <html> <head> <title> New Document </title> <script src="~/Scripts/j ...

  6. JavaScript中数组的增删改查以及应用方式

    数组的增加方法 1.push()方法向数组中末尾添加一个元素,原数组改变 var arr=[1,2,3,4]; var arr1=arr.push(6); console.log(arr);//打印出 ...

  7. 使用Java实现对一个数组的增删改查以及初始化

    import java.util.*; import java.lang.*; public class Array { private int[] data;// 数组 private int si ...

  8. python 基础_ 数组的 增删改查3

    数组是运用在多个数据存在一个变量中的,而在调用的时候可以调用所需要的数组. 创建数组 a = ['a','b','c','d','f'] #创建一个数组a其中有5个元素分别是abcdf 1.查询.所谓 ...

  9. js 数组的增删改查

    js数组元素的添加和删除一直比较迷惑,今天终于找到详细说明的资料了,先给个我测试的代码^-^ var arr = new Array(); arr[0] = "aaa"; arr[ ...

随机推荐

  1. linux-centos下源代码安装subversion (svn)

    1.svn的源代码 1.1 可以在官方下载,官方地址 :svn 1.6.17源码包  http://subversion.tigris.org/servlets/ProjectDocumentList ...

  2. JS URL传中文参数引发的乱码问题

    今天的项目中碰到了一个乱码问题,从JS里传URL到服务器,URL中有中文参数,服务器里读出的中文参数来的全是“?”,查了网上JS编码相关资料得以解决. 解决方法一: 1.在JS里对中文参数进行两次转码 ...

  3. 外部dtd

    引用外部dtd的语法:<!DOCTYPE 根元素 SYSTEM “DTD文档路径”> PUBLIC:公用 SYSTEM:私有 一个xml文件: 引入一个dtd文件(注意文件的后缀是dtd)

  4. Embedded Database service fails to start after installing or migrating to Symantec Endpoint Protection (SEP) 12.1.5 (RU5)

    https://support.symantec.com/en_US/article.TECH225587.html

  5. Repair duplicate IDs on cloned Endpoint Protection 12.1 clients

    https://support.symantec.com/en_US/article.TECH163349.html

  6. HP StorageWorks MSL2024 Tape Libraries - Robotic Error Sub-Codes

    Robotic error sub-codes Mechanical initialization failure 02 Connection to slave robotic failed 03 E ...

  7. netbeans使用技巧总结+快捷键大全

      部分经常用的快捷键: 使用快捷键Alt+Enter显示修复错误的方法. 4.导航 a)Alt+Shift+O :转到类. b)Ctrl+Tab :在打开的源文件中进行切换. c)Alt+Right ...

  8. 深入说明HDR

    http://wenku.baidu.com/link?url=xBdq0VRVi2t0x9uis3XfU_0mKf2eK0e6y_1hiSo7IWSWyUE8yAwaTJ60ZlxTzQf91VPf ...

  9. PHP 设计模式 笔记与总结(6)基础设计模式:工厂模式、单例模式和注册树模式

    三种基础设计模式(所有面向对象设计模式中最常见的三种): ① 工厂模式:使用工厂方法或者类生成对象,而不是在代码中直接new 在 Common 目录下新建 Factory.php: <?php ...

  10. Visual Studio快捷键不能使用解决办法

    环境: Visual Studio 2010,windows 7 使用Visual Studio查找变量或方法时常用到[定位到]功能 但该功能的快捷键却不能使用,解决办法如下所示: 1.工具--> ...