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. eWebeditor编辑器上传图片的设置程序

    protected void Button1_Click(object sender, EventArgs e) { if (this.uploadfile.PostedFile.FileName.E ...

  2. RowDataBound事件

    RowDataBound事件在创建gridView控件时,必须先为GridView的每一行创建一个GridViewRow对象,创建每一行时,将引发一个RowCreated事件:当行创建完毕,每一行Gr ...

  3. 提升 web 应用程序的性能(二)

    最佳实践 本章将略述能帮助您提升 web 应用程序性能的最佳实践. 减少 HTTP 请求数 每个 HTTP 请求都有开销,包括查找 DNS.创建连接及等待响应,因此削减不必要的请求数可减少不必要的开销 ...

  4. [百科] - SIP(会话发起协议)

    SIP(会话发起协议)SIP是类似于HTTP的基于文本的协议.SIP可以减少应用特别是高级应用的开发时间.由于基于IP协议的SIP利用了IP网络,固定网运营商也会逐渐认识到SIP技术对于他们的深远意义 ...

  5. web app

    *********Modernizr作为开发HTML5必要的js工具************ Modernizr作为开发HTML5必要的js工具 *********字体大小设 rem********* ...

  6. MasterPage 变化了的 ClientID ctl00_

    在母版页的服务器端控件 其客户端ID 有时候是多变的 会对javascript jquery的内容获取 造成困扰 比如一个控件: <asp:ContentPlaceHolder ID=" ...

  7. data structure | heap

    #include <iostream> #include <string.h> using namespace std; template <class T> cl ...

  8. 【iCore2双核心板视频教程二】iM_LAN 100M 以太网模块TCP通信例程

    ============================== 技术论坛:http://www.eeschool.org 博客地址:http://xiaomagee.cnblogs.com 官方网店:h ...

  9. 投芯片,现在要n+1模式

    给坚持理想的屌丝点个赞.投芯片,现在要n+1模式,n个小项目+一个大项目.团队是基础,屌丝创业要以营利为先导,先要短快,同时要有并行的大项目支撑.小项目赚的钱先解决面包问题,同时为大项目锻炼队伍积累经 ...

  10. Apache Spark技术实战之2 -- PackratParsers实例

    欢迎转载,转载请注明出处,徽沪一郎 概要 通过一个简明的Demo程序来说明如何使用scala中的PackratParsers DemoApp import scala.util.parsing.com ...