九 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 ...
随机推荐
- Python 多态与抽象类
一.多态 1.1 什么是多态 多态也称"多态性",指的是同一种类型的事物,不同的形态. 在python中的多态指的是让多种类若具备类似的数据属性与方法属性,都统一好命名规范,这样可 ...
- .NET设计篇08-线程取消模型和跨线程访问UI
知识需要不断积累.总结和沉淀,思考和写作是成长的催化剂,输出倒逼输入 内容目录 一.线程统一取消模型1.取消令牌2.可以中断的线程1.设计一个中断函数2.创建CancellationTokenSour ...
- [Oracle]Oracle的闪回归档
Oracle的闪回归档 场景需求,由于管理数据库的一些核心表,在实施初期会有人为误删除的问题.Oracle 11gR2提供了闪回归档的特性,可以保证不用RMAN来恢复误删除的数据.实践如下: 1.创建 ...
- 「洛谷P1402」酒店之王 解题报告
P1402 酒店之王 题目描述 XX酒店的老板想成为酒店之王,本着这种希望,第一步要将酒店变得人性化.由于很多来住店的旅客有自己喜好的房间色调.阳光等,也有自己所爱的菜,但是该酒店只有p间房间,一天只 ...
- 公子奇带你进入Java8流的世界(二)
在上一篇中我们带领大家简单的了解流的概念及使用场景,本节我们就来好好的介绍流的常见用法. 一.筛选和切片 对于一串流,我们有时需要取出我们需要的流中某些元素,主要是通过谓词筛选.看代码: 首先定义一个 ...
- # "可插拔式"组件设计,领略组件开发的奥秘
从一个 Confirm 组件开始,一步步写一个可插拔式的组件. 处理一个正常的支付流程(比如支付宝购买基金) 点击购买按钮 如果风险等级不匹配则:弹确认框(Confirm) 用户确认风险后:弹出支付方 ...
- 开源API网关,你选对了么?
开源API网关,你选对了么? api网关的本质 不用扯那么多,也不用画图,一句话说清楚 api网关:流量总入口,得以集中控制! 就这么简单 api网关协议上最基本要支持HTTP 和 WebSocket ...
- MySQL数据库用户、角色、授权
权限包括 insert delete update select all privileges 登录MySQL > mysql -uroot -p Enter password ...
- Java项目之家庭收支记账软件
模拟实现基于文本界面的家庭记账软件,该软件能够记录家庭的收入支出,并能够打印收支明细表. 项目采用分级菜单方式.主菜单如下: 假设家庭起始的生活基本金为10000元. 每次登记收入(菜单2)后,收入的 ...
- 案例分析丨谷歌设计冲刺 4 天决定 Clips 的功能特性
这次为大家带来Google冲刺日程案例,之前案例分析可以戳对应文字直达:ING集团.音乐流媒体Spotify.美国知名超市Target 作为一款工具类产品,谷歌十分注重产品候选人的技术背景,同时也看重 ...