shell数组操作
1.数组定义,shell使用一对括号表示数组,数组元素间用”空格”分隔
# 空数组arr1
arr1=()
# 数组arr2,成员分别是1, 2, 3, 4, 5, 6
arr2=(1 2 3 4 5 6)
2.数组元素读取,格式:${数组名[下标]},下标从0开始,下标为*或@代表整个数组内容
[root@10 ~]# echo ${arr2[0]}
1
[root@10 ~]# echo ${arr2[*]}
1 2 3 4 5 6
3.遍历数组, foreach
for num in ${arr2[*]}; do
echo $num;
done;
4.数组长度,格式:${#数组名[*或@]}
[root@10 ~]# echo ${#arr2[*]}
6
5.赋值,格式:数组名[下标]=值,如果下标不存在,则新增数组元素; 下标已有,则覆盖值
[root@10 ~]# arr2[6]=7
[root@10 ~]# echo ${arr2[*]}
1 2 3 4 5 6 7
[root@10 ~]# arr2[0]=-1
[root@10 ~]# echo ${arr2[*]}
-1 2 3 4 5 6 7
6.分片,格式:${数组名[*或@]:起始位:长度},截取部分数组,返回字符串,中间用空格分隔;将结果使用“()”,则得到新的切片数组
[root@10 ~]# echo ${arr2[*]:0:3}
-1 2 3
[root@10 ~]# arr3=(${arr2[*]:0:3})
[root@10 ~]# echo ${arr3[*]}
-1 2 3
7.替换元素,格式:${数组名[*或@]/查找字符/替换字符}, 不会修改原数组;如需修改的数组,将结果使用“()”赋给新数组
[root@10 ~]# echo ${arr2[*]}
-1 2 3 4 5 6 7
[root@10 ~]# echo ${arr2[*]/7/10}
-1 2 3 4 5 6 10
[root@10 ~]# arr4=(${arr2[*]/7/10})
[root@10 ~]# echo ${arr4[*]}
-1 2 3 4 5 6 10
8.删除数组,格式:unset 数组,清除整个数组; unset 数组[下标],清除单个元素
[root@10 ~]# echo ${arr2[*]}
-1 2 3 4 5 6 7
[root@10 ~]# unset arr2[0]
[root@10 ~]# echo ${arr2[*]}
2 3 4 5 6 7
[root@10 ~]# unset arr2
[root@10 ~]# echo ${arr2[*]}
[root@10 ~]#
shell数组操作的更多相关文章
- mongoDB的shell数组操作器
http://www.2cto.com/database/201304/205024.html mongoDB数组操作器 $push会向数组末尾加入一个元素,如果数组不存在,则会创建这个数组. 增 ...
- shell 数组操作
1. 定义数组: var_array=(one two three four five) 2.常用操作 获取数组长度: ${#var_array[@]} 获取所有数组元素: ${var_array[ ...
- Linux Shell数组常用操作详解
Linux Shell数组常用操作详解 1数组定义: declare -a 数组名 数组名=(元素1 元素2 元素3 ) declare -a array array=( ) 数组用小括号括起,数组元 ...
- Shell系列(38)- 数组操作→取值、遍历、替换、删除
引言 在Linux平台上工作,我们经常需要使用shell来编写一些有用.有意义的脚本程序.有时,会经常使用shell数组.那么,shell中的数组是怎么表现的呢,又是怎么定义的呢?接下来逐一的进行讲解 ...
- Linux Shell 数组
shell 数组一般都是一维数组. 1. 数组的声明 declare -a arr 该命令将声明一个数组arr,实际上不声明也可以直接定义数组. 2. 数组的初始化 arr=(1 2 3):该命令定义 ...
- Mongodb DB shell数据操作
shell命令操作语法和JavaScript很类似,其实控制台底层的查询语句都是用JavaScript脚本完成操作的. Ø 数据库 1.Help查看命令提示 help db.help(); db.yo ...
- shell字符串操作之cut---实现字符串截取
shell中(字符串截取) cut是以每一行为一个处理对象的,这种机制和sed是一样的.(关于sed的入门文章将在近期发布) 2 cut一般以什么为依据呢? 也就是说,我怎么告诉cut我想定位到的剪切 ...
- shell数组应用
引言 在Linux平台上工作,我们经常需要使用shell来编写一些有用.有意义的脚本程序.有时,会经常使用shell数组.那么,shell中的数组是怎么表现的呢,又是怎么定义的呢?接下来逐一的进行讲解 ...
- centos shell脚本编程1 正则 shell脚本结构 read命令 date命令的用法 shell中的逻辑判断 if 判断文件、目录属性 shell数组简单用法 $( ) 和${ } 和$(( )) 与 sh -n sh -x sh -v 第三十五节课
centos shell脚本编程1 正则 shell脚本结构 read命令 date命令的用法 shell中的逻辑判断 if 判断文件.目录属性 shell数组简单用法 $( ) 和$ ...
随机推荐
- poj1985 Cow Marathon (求树的直径)
Cow Marathon Time Limit: 2000MS Memory Limit: 30000K Total Submissions: 3195 Accepted: 1596 Case ...
- Altium Designer15 卡在登陆界面解决办法:
Altium Designer15 卡在登陆界面解决办法: 在我的电脑系统盘中找到下面目录(注:如果看不到,需要取消隐藏文件选项.) C:\Documents and Settings\Adminis ...
- 使用命令行执行webpagetest进行测试
背景 使用webpagetest进行性能分析,需要一个一个url的去执行,需要人为去等,比较繁琐.而api很好的解决了这个问题,可以通过命令行等执行测试,也可以写成一个常规脚本,针对每个版本的常规ur ...
- photoshop cs5 key
序列号: 1330-1164-2870-9234-4243-7879 1330-1027-8489-4513-0233-4890 1330-1176-2865-0373-1551-0175 1330- ...
- Android 学习 (一)
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px "Helvetica Neue"; color: #454545 } p. ...
- android studio serialversionuid设置
- [刘阳Java]_MyBatis_映射文件的常用标签总结_第5讲
MyBatis中常用标签的总结,简单给出自己的总结 MyBatis映射文件中的标签使用介绍1.<select>:用于编写查询语句用的标签 id:表示当前<select>标签的唯 ...
- JS产生随机数
<script> function GetRandomNum(Min,Max){ var Range = Max - Min; var Rand = Math.random() ...
- jeasyui datagrid控件的一个小问题
页面上用了datagrid,但今天把easyui更新到1.4.2以后出了个错,Cannot read property 'width' of null,以前用1.3.6的时候没有这个问题. 由于表格中 ...
- Java中从控制台输入数据的几种常用方法
Java中从控制台输入数据的几种常用方法 一.使用标准输入串System.in //System.in.read()一次只读入一个字节数据,而我们通常要取得一个字符串或一组数字 //System.in ...