九 Shell中的数组
数组:用一个变量存储一组数据,并能够对这组数据中的某一个数据单独操作。
数组的类型:一维数组、二维数组、多维数组
变量的类型
Shell中默认无类型
变量的值默认均视为文本
用在数字运算中时,自动将其转换为整数
定义变量类型
declare:强制设置类型属性
语法:declare 选项 变量名
选项 注释
-i 强制为整数
-a 定义为数组
-x 设置为全局变量/环境变量
-r 设置为只读
-i:定义变量为数值类型
[root@localhost ~]# declare -i x=
[root@localhost ~]# declare -i y=
[root@localhost ~]# declare -i c=$x*$y
[root@localhost ~]# echo $c
-a:定义变量为数组类型
[root@localhost ~]# declare -a tea
[root@localhost ~]# declare -a | grep tea
declare -a tea='()'
[root@localhost ~]# tea=( plj hpg zhf zzg)
[root@localhost ~]# declare -a | grep tea
declare -a tea='([0]="plj" [1]="hpg" [2]="zhf" [3]="zzg")'
定义或赋值数组
方法1,整体赋值
格式 示例
数组名=(值1 值2 ....值n) SVRS=(www ftp mail club)
方法2:单个元素赋值
格式 示例
数组名[下标]=值 ;下标从0开始 FQDNS[]=www.tarena.com
输出数组元素
格式
获取单个数组元素 ${数组名[下标]}
获取所有数组元素 ${数组名[@]}
获取数组元素个数 ${#数组名[@]}
获取连续的多个数组元素 ${数组名[@]}:起始下标:元素个数
获取某个数组元素的长度 ${#数组名[下标]}
截取数组元素值的一部分 ${#数组名[下标]:起始下标:字符数}
特别提醒:
如果元素下标值已经被已有元素使用,是修改已有元素的值
如果元素下标值没有被已有元素使用,是向数组中添加新元素
如果给数组赋值时,元素列表为空,是删除数组中的所有元素
如果给数组赋值时,元素列表里输入新值,是重新给数组赋值。
九 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脚本中,除了通常使用的shell变量外,有时也需要复杂的数据结构去实现一些功能,这里简单说明一下shell数组的使用方法: 初始化方法 _array_name[0]="rando ...
- Linux Shell中的数组及遍历 转
转自:http://www.linuxidc.com/Linux/2011-09/42929.htm 在Linux下使用shell的时候,为方便起见,偶尔会用到一下数组.数组的申明方式是: array ...
- shell中一维数组值得获取
(1)数组的定义 root@tcx4440-03:~# a=(1 2 3 4) root@tcx4440-03:~# echo ${a[1]}2 root@tcx4440-03:~# a[0]=1ro ...
- shell中的函数 shell中的数组 告警系统需求分析
- shell中遍历数组的几种方式
#!/bin/bash arr=( '你好') length=${#arr} echo "长度为:$length" # for 遍历 for item in ${arr[*]} d ...
随机推荐
- 【题解】CF894E Ralph and Mushrooms (缩点)
[题解]CF894E Ralph and Mushrooms (缩点) 这是紫?给个解方程算法 考虑一条边若可以重复遍历说明一定有环,有环的话一定会把环上的蘑菇榨干,考虑一条边从全部到榨干的贡献是多少 ...
- $HDU1846\ Brave\ Game$ 博弈论
正解:博弈论 解题报告: 传送门! 巴什博奕板子题鸭$QwQ$ 就有个结论,是说当$(m+1)\mid n$时先手必败,否则必胜 这个瞎证明一下就能出来 就考虑当$(m+1)\mid 1$时,若先手取 ...
- Kubernetes 会不会“杀死” DevOps?
作者丨孙健波(天元) 阿里巴巴技术专家 导读:DevOps 这个概念最早是在 2007 年提出的,那时云计算基础设施的概念也才刚刚提出没多久,而随着互联网的逐渐普及,应用软件的需求爆发式增长,软件开 ...
- 微信小程序之双重循环(包含左滑删除,以及数据各项处理)
<view wx:for="{{hommer}}" wx:for-item="item" wx:for-index="index" w ...
- nor flash之写保护
背景 没有电池的嵌入式设备,很容易发生随机掉电.因此要让产品可靠稳定,就必须保证各种场景下的掉电安全. 例如系统更新过程随机掉电,不能导致系统无法启动.例如正常读写flash过程中掉电,最多正在传输的 ...
- 字符串String类常见算法题
1.将一个字符串进行反转.将字符串中指定部分进行反转. public class StringDemo { //方式一:转换为char[] public String reverse(String s ...
- 分享一款基于aui框架的图文发布界面
本文出自APICloud官方论坛, 感谢论坛版主 川哥哥 的分享. 分享一款基于aui框架的图文发布界面,可以添加多张图可以删除,类似qq空间发布说说,没做服务器后端,只演示前端操作.需要用到UIMe ...
- maven报错:Return code is: 501 , ReasonPhrase:HTTPS Required
今天把一个去年没做完的项目翻出来做时,发现maven无法正常导入依赖.检查了一遍项目配置,没发现有什么问题.而且依赖在本地仓库存在. 随后发现报错:Failed to transfer file:** ...
- 动态规划 之 区间DP练习
前言 \(Loj\) 放上了那么多<信息学奥赛一本通>上的题(虽然我并没有这本书),我要给它点一个大大的赞 ^_^ 以后分类刷题不愁啦! 正文 那就一道道说吧. 石子合并 将 \(n\) ...
- ssm项目中中文字符乱码
昨天给同学改一个错,在SSM项目中,表单输入的String类型中,中文字符值,总是乱码,在控制器层获取的数据就开始乱码,先后进行了如下排查: web.xml中配置设置字符编码的监听器(过滤器), js ...