shell中一维数组值得获取
(1)数组的定义
root@tcx4440-03:~# a=(1 2 3 4)
root@tcx4440-03:~# echo ${a[1]}
2
root@tcx4440-03:~# a[0]=1
root@tcx4440-03:~# a[1]=2
root@tcx4440-03:~# echo ${a[0]}
1
(2)数组值得获取
root@tcx4440-03:~# var[0]=1
root@tcx4440-03:~# var[1]=2
root@tcx4440-03:~# echo $var[1]
1[1]
root@tcx4440-03:~# echo ${var[1]}
2
(3)获取数组的长度。用${#数组名[@或*]} 可以得到数组长度
root@tcx4440-03:~# a=(10 20 30 40 50 60)
root@tcx4440-03:~# echo ${#a[*]}
6
root@tcx4440-03:~# echo ${#a[@]}
6
root@tcx4440-03:~# echo ${a[@]}
10 20 30 40 50 60
root@tcx4440-03:~# echo ${a[*]}
10 20 30 40 50 60
(4)数组的读取,用${数组名[下标]} 下标是从0开始 下标是:*或者@ 得到整个数组内容
root@tcx4440-03:~# echo ${a[1]}
20
root@tcx4440-03:~# echo ${a[*]}
10 20 30 40 50 60
(5)数组的赋值
root@tcx4440-03:~# a[3]=100
root@tcx4440-03:~# echo ${a[*]}
10 20 30 100 50 60
(6)数组的删除,直接通过:unset 数组[下标] 可以清除相应的元素,不带下标,清除整个数据。
root@tcx4440-03:~# echo ${a[*]}
10 20 30 100 50 60
root@tcx4440-03:~# unset a[1]
root@tcx4440-03:~# echo ${#a[@]}
5
root@tcx4440-03:~# echo ${a[*]}
root@tcx4440-03:~# unset a
root@tcx4440-03:~# echo ${#a[*]}
0
(7)分片使用,直接通过 ${数组名[@或*]:起始位置:长度} 切片原先数组,返回是字符串,中间用“空格”分开,因此如果加上”()”,将得到切片数组,上面例子:c 就是一个新数据。
A:tt只是一个变量,不是一个数组,所以一定要加啊()
root@tcx4440-03:~# tt=${a[*]:2:4}
root@tcx4440-03:~# echo $tt 30 40 50 60
root@tcx4440-03:~# echo ${tt[1]}
root@tcx4440-03:~# echo ${tt[2]}
B: c仍然是一个数组
root@tcx4440-03:~# echo ${a[*]}
10 20 30 40 50 60
root@tcx4440-03:~# c=(${a[*]:1:4})
root@tcx4440-03:~# echo ${c[*]}
20 30 40 50
root@tcx4440-03:~# echo $c
20
root@tcx4440-03:~# echo ${c[2]}
40
root@tcx4440-03:~# echo ${a[*]}
10 20 30 40 50 60
(8)替换,调用方法是:${数组名[@或*]/查找字符/替换字符} 该操作不会改变原先数组内容,如果需要修改,可以看上面例子,重新定义数据。
root@tcx4440-03:~# echo ${a[*]}
10 20 30 40 50 60
root@tcx4440-03:~# echo ${a[*]/60/100}
10 20 30 40 50 100
root@tcx4440-03:~# echo ${a[*]} //数组a的值是不变的
10 20 30 40 50 60
root@tcx4440-03:~# tt=${a[*]/100/1000} //没有括号,则是一个变量,不是数组
root@tcx4440-03:~# echo $tt
10 20 30 40 50 60
root@tcx4440-03:~# echo ${tt[1]}
root@tcx4440-03:~# tt=(${a[*]/60/1000}) //有括号,则tt是一个数组
root@tcx4440-03:~# echo ${tt[5]}
1000
root@tcx4440-03:~# echo ${tt[*]}
10 20 30 40 50 1000
root@tcx4440-03:~# echo ${a[*]} //数组a是没有变化的
10 20 30 40 50 60
shell中一维数组值得获取的更多相关文章
- Shell中的数组及其相关操作
http://blog.csdn.net/jerry_1126/article/details/52027539 Shell中数据类型不多,比如说字符串,数字类型,数组.数组是其中比较重要的一种,其重 ...
- shell中的函数、shell中的数组、告警系统需求分析
7月16日任务 20.16/20.17 shell中的函数20.18 shell中的数组20.19 告警系统需求分析 20.16/20.17 shell中的函数 函数就是一个子shell就是一个代码段 ...
- linux shell 中的数组的取值 遍历 替换 删除操作
引言 在Linux平台上工作,我们经常需要使用shell来编写一些有用.有意义的脚本程序.有时,会经常使用shell数组.那么,shell中的数组是怎么表现的呢,又是怎么定义的呢?接下来逐一的进行讲解 ...
- Linux centosVMware shell中的函数、shell中的数组、
一.shell中的函数 函数就是把一段代码整理到了一个小单元中,并给这个小单元起一个名字,当用到这段代码时直接调用这个小单元的名字即可. 格式: function _name() { command ...
- 九 Shell中的数组
数组:用一个变量存储一组数据,并能够对这组数据中的某一个数据单独操作. 数组的类型:一维数组.二维数组.多维数组 变量的类型 Shell中默认无类型 变量的值默认均视为文本 用在数字运算中时,自动将其 ...
- C语言中一维数组
(1)输出数组元素 #include<stdio.h> int main() { int index; /*定义循环变量*/ int iArray[6]={0,1,2,3,4,5}; /* ...
- shell中的数组
在shell脚本中,除了通常使用的shell变量外,有时也需要复杂的数据结构去实现一些功能,这里简单说明一下shell数组的使用方法: 初始化方法 _array_name[0]="rando ...
- JavaScript 实现彩票中随机数组的获取
1.效果图: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UT ...
- Linux Shell中的数组及遍历 转
转自:http://www.linuxidc.com/Linux/2011-09/42929.htm 在Linux下使用shell的时候,为方便起见,偶尔会用到一下数组.数组的申明方式是: array ...
随机推荐
- python3使用套接字遇到TypeError: 'str' does not support the buffer interface如何解决
这是我查看的博客 http://blog.csdn.net/chuanchuan608/article/details/17915959 直接引用里面的关键语句: When you use clien ...
- UESTC 885 方老师买表 --状压DP
将方格的摆放分成两种: 1.水平摆放:此时所占的两个格子都记为1. 2.竖直摆放:此时底下那个格子记为1,上面那个记为0. 这样的话,每行都会有一个状态表示. 定义:dp[i][s]表示考虑已经填到第 ...
- HDU 1085 Holding Bin-Laden Captive --生成函数第一题
生成函数题. 题意:有币值1,2,5的硬币若干,问你最小的不能组成的币值为多少. 解法:写出生成函数: 然后求每项的系数即可. 因为三种硬币最多1000枚,1*1000+2*1000+5*1000=8 ...
- Windows远程桌面连接Ubuntu 14.04
由于xrdp.gnome和unity之间的兼容性问题,在Ubuntu 14.04版本中仍然无法使用xrdp登陆gnome或unity的远程桌面,现象是登录后只有黑白点为背景,无图标也无法操作.与13. ...
- canvas仿屏幕保护运动线条
canvas是H5中及其重要的一个新标签,它得出现不仅让前端做图形图表功能变得异常强大,还用极强的性能丰富前端渲染页面的能力. Life is not a problem to be solved, ...
- ClickJacking(点击劫持)
问题: 点击劫持(ClickJacking)是一种视觉上的欺骗手段.大概有两种方式,一是攻击者使用一个透明的iframe,覆盖在一个网页上,然后诱使用户在该页面上进行操作,此时用户将在不知情的情况下点 ...
- BZOJ 3572: [Hnoi2014]世界树
BZOJ 3572: [Hnoi2014]世界树 标签(空格分隔): OI-BZOJ OI-虚数 OI-树形dp OI-倍增 Time Limit: 20 Sec Memory Limit: 512 ...
- iOS获取窗口当前显示的控制器
解决类似网易新闻客户端收到新闻推送后,弹出一个UIAlert,然后跳转到新闻详情页面这种需求 1.提供一个UIView的分类方法,这个方法通过响应者链条获取view所在的控制器 - (UIViewCo ...
- IIS mime类型
参考网站:http://www.iwms.net/n1381c2.aspx 以下例子为iis6.0 下载安卓.苹果安装包时候,需要添加mime类型才可以下载,否则访问不到 安卓 .apk appli ...
- [2]Telerik Extensions for ASP.NET MVC 中文教程(2)
上一篇文章对Telerik MVC Extensions作了一个大概的介绍,这篇文章将介绍如何将Telerik MVC Extensions添加到项目中.有以下两种方式可以将Telerik MVC E ...