Shell基础教程八: Shell数组:shell数组的定义、数组长度
Shell在编程方面比Windows批处理强大很多,无论是在循环、运算。
bash支持一维数组(不支持多维数组),并且没有限定数组的大小。类似与C语言,数组元素的下标由0
开始编号。获取数组中的元素要利用下标,下标可以是整数
或算术表达式
,其值应大于或等于0。
定义数组
在Shell中,用括号()
来表示数组,数组元素用空格
符号分割开。定义数组的一般形式为:
array_name=(value1 … valuen)
例如:
array_name=(value0 value1 value2 value3)
或者
array_name=(
value0
value1
value2
value3
)
还可以单独定义数组的各个分量:
array_name[0]=value0
array_name[1]=value1
array_name[2]=value2
可以不使用连续的下标,而且下标的范围没有限制。
读取数组
读取数组元素值的一般格式是:
${array_name[index]}
例如:
valuen=${array_name[2]}
举个例子:
#!/bin/sh
NAME[0]="Zara"
NAME[1]="Qadir"
NAME[2]="Mahnaz"
NAME[3]="Ayan"
NAME[4]="Daisy"
echo "First Index: ${NAME[0]}"
echo "Second Index: ${NAME[1]}"运行脚本,输出:
$./test.sh
First Index: Zara
Second Index: Qadir
使用@
或 *
可以获取数组中的所有元素,例如:
${array_name[*]}
${array_name[@]}
举个例子:
#!/bin/sh
NAME[0]="Zara"
NAME[1]="Qadir"
NAME[2]="Mahnaz"
NAME[3]="Ayan"
NAME[4]="Daisy"
echo "First Method: ${NAME[*]}"
echo "Second Method: ${NAME[@]}"
运行脚本,输出:
$./test.sh
First Method: Zara Qadir Mahnaz Ayan Daisy
Second Method: Zara Qadir Mahnaz Ayan Daisy
获取数组的长度
获取数组长度的方法与获取字符串长度的方法相同,例如:
# 取得数组元素的个数
length=${#array_name[@]}
# 或者
length=${#array_name[*]}
# 取得数组单个元素的长度
lengthn=${#array_name[n]}
Shell基础教程八: Shell数组:shell数组的定义、数组长度相关推荐
- Xamarin.FormsShell基础教程(9)Shell相关类体系
Xamarin.FormsShell基础教程(9)Shell相关类体系 在Shell中,最为主要的类是Shell类.Shell类实现了大多数应用程序所需的基本UI功能的页面.除此以外,常用的类还有Sh ...
- Xamarin.FormsShell基础教程(8)Shell的模版构成
Xamarin.FormsShell基础教程(8)Shell的模版构成 Shell模版创建的页面包含内容页.标签栏.侧滑菜单.搜索框四部分.下面依次介绍这几个部分. 内容页:内容页就是为用户呈现内容的 ...
- Xamarin.FormsShell基础教程(7)Shell项目关于页面的介绍
Xamarin.FormsShell基础教程(7)Shell项目关于页面的介绍 轻拍标签栏中的About标签,进入关于页面,如图1.8和图1.9所示.它是对应用程序介绍的页面. 该页面源自Views文 ...
- Xamarin.FormsShell基础教程(6)Shell项目内容详情页面
Xamarin.FormsShell基础教程(6)Shell项目内容详情页面 轻拍内容列表页面中的任意一项内容后,进入内容详情页面,如图1.6和图1.7所示.该页面中显示了内容项的标题和具体内容.该页 ...
- Xamarin.FormsShell基础教程(5)Shell项目内容新建页面
Xamarin.FormsShell基础教程(5)Shell项目内容新建页面 轻拍内容列表页面中的Add按钮后,进入内容新建页面,如图1.4和图1.5所示.在该页面中,用户可以设置新建内容的标题和具体 ...
- Xamarin.FormsShell基础教程(4)Shell项目内容列表页面运行效果
Xamarin.FormsShell基础教程(4)Shell项目内容列表页面运行效果 在创建好Shell解决方案后,就可以运行程序了.本小节将讲解运行后的效果. 内容列表页面 运行程序,初始效果如图1 ...
- Xamarin.FormsShell基础教程(3)Shell项目构成
Xamarin.FormsShell基础教程(3)Shell项目构成 在创建的ShellDemo解决方案中,有3个子项目,分别为ShellDemo.ShellDemo.Android和ShellDem ...
- Xamarin.Forms Shell基础教程(1)
Xamarin.Forms Shell基础教程(1) 什么是Xamarin.Forms Shell Shell是Visual Studio为Xamarin Forms提供的解决方案模版.本质上,She ...
- (转)jquery基础教程八 load方法及小技巧
首先我们看看手册上的描述 load(url, params, callback) 装入一个远程HTML内容到一个DOM结点. 注意:避免用装入的scripts脚本,装入脚本改用$.getScript. ...
最新文章
- Windows Vista和XP系统功能大比拼
- windows 7 64bit安装apche php
- linux相等路径,关于linux:如何检查Bash中两条路径是否相等?
- linux内核ufs设备树,Linux内核初始化流程笔记
- Redis 多线程网络模型
- java 解析二进制_Java二进制指令代码解析
- 《深度学习》李宏毅 -- task4深度学习介绍和反向传播机制
- 交叉熵和极大似然估计的再理解
- 四、	vSphere 6.7 U1(四):部署VCSA
- 萤石摄像头实现web端监控预览以及录像回放
- win10 休眠不读u盘_如何解决win10识别不了U盘问题
- b类 蚂蚁金服_蚂蚁金服开放平台 - 文档中心
- dpdk bond口学习笔记
- UEditor自定义表情包
- HDUOJ 6806 Equal Sentences
- Java实现Base64、DES、AES、RSA加解密以及加密方式之间的区别
- 无缘中兴(拒绝了offer)
- 车载行车记录仪EMC浪涌防护方案图
- 【分享】unlock music解锁音乐项目CLI版本
- [转]Anders Hejlsberg谈C#、Java和C++中的泛型
热门文章
- Unity 制作汽车后视镜
- Oracle数据库备份报错12514,Oracle 数据库报错 ORA-12514解决办法
- java基础大全app,中国大学MOOC的APP2020年零基础学Java语言期末考试大全答案
- usb右下角有显示,计算机没显示,插入U盘后电脑桌面右下角的系统任务栏不显示USB图标...
- k8s安装elasticSearch(简易版)
- 律师点评——员工因“对公司的赞美不合格”被淘汰
- SpringBoot中事务执行原理分析(一)
- 金赢客政策!详解模式2.0现代金控
- 冯诺依曼机器人_舍弃冯诺依曼架构突破内存墙瓶颈的AI芯片,即将轰动市场?...
- 泄露、勒索、入侵……金融科技的安全问题到底多可怕?