Linux Shell数组常用操作详解
Linux Shell数组常用操作详解
1数组定义:
declare -a 数组名
数组名=(元素1 元素2 元素3 )
declare -a array
array=( )
数组用小括号括起,数组元素之间用空格分开
2显示数组长度:
[@tc_132_227 dm_pid_day]$ echo ${#array[@]} [@tc_132_227 dm_pid_day]$ echo ${#array[*]}
命令:
${#数组名[@或*]} 获取数组长度,若数组无元素,输出空
3读取数组元素:
[@tc_132_227 dm_pid_day]$ echo ${array[]} [@tc_132_227 dm_pid_day]$ echo ${array[]} [@tc_132_227 dm_pid_day]$ echo ${array[]} [@tc_132_227 dm_pid_day]$ echo ${array[*]} [@tc_132_227 dm_pid_day]$ echo ${array[@]}
命令:
${数组名[下标]},数组下标从0开始,且下标为*或者@符号时,读取整个数组元素
4 对数组元素赋值:
[@tc_132_227 dm_pid_day]$ echo ${array[@]} [@tc_132_227 dm_pid_day]$ array[]=
[@tc_132_227 dm_pid_day]$ echo ${array[@]} [@tc_132_227 dm_pid_day]$ array[]=
[@tc_132_227 dm_pid_day]$ echo ${array[@]} [@tc_132_227 dm_pid_day]$
命令:
数组名[下标]=元素 进行赋值 若下标不存在,则数组会自动增加一个新的元素
5删除数组元素:
[@tc_132_227 dm_pid_day]$ unset array[]
[@tc_132_227 dm_pid_day]$ echo ${array[@]} [@tc_132_227 dm_pid_day]$ echo ${#array[*]} [@tc_132_227 dm_pid_day]$ unset array[]
[@tc_132_227 dm_pid_day]$ echo ${array[*]} [@tc_132_227 dm_pid_day]$ echo ${#array[*]} [@tc_132_227 dm_pid_day]$ unset array
[@tc_132_227 dm_pid_day]$ echo ${array[*]} [@tc_132_227 dm_pid_day]$
命令:
unset 数组名[下标]可以删除数组元素, unset 数组名 删除整个数组
6数组分片:
[@tc_132_227 dm_pid_day]$ echo ${array[@]} [@tc_132_227 dm_pid_day]$ echo ${array[@]::} [@tc_132_227 dm_pid_day]$ echo ${array[@]::} [@tc_132_227 dm_pid_day]$ echo ${array[@]::}
[@tc_132_227 dm_pid_day]$ arr=(${array[@]::})
[@tc_132_227 dm_pid_day]$ echo ${arr[@]} [@tc_132_227 dm_pid_day]$ echo ${#arr[@]} [@tc_132_227 dm_pid_day]$
命令:
${数组名[@|*]:起始下标:长度} 会将原数组分片,并返回以“空格”为分隔符的一个字符串,若对该字符串外加"()“,则会得到一个新的分片数组
Linux Shell数组常用操作详解的更多相关文章
- Linux and Oracle常用目录详解
目录详解 目录 内容 / 根目录,一切从这里开始 /bin 包含系统启动和运行所必需的二进制文件(程序) /boot 包含Linux内核.最初的RAM磁盘映像(系统启动时,驱动程序会用到),以及启动加 ...
- 【Git使用详解】Egit的常用操作详解
常用操作 操作 说明 Fetch 从远程获取最新版本到本地,不会自动merge Merge 可以把一个分支标签或某个commit的修改合并现在的分支上 Pull 从远程获取最新版本并merge到本地相 ...
- 【python+selenium的web自动化】- 元素的常用操作详解(一)
如果想从头学起selenium,可以去看看这个系列的文章哦! https://www.cnblogs.com/miki-peng/category/1942527.html 本篇主要内容:1.元素 ...
- pandas常用操作详解——pd.concat()
concat函数基本介绍: 功能:基于同一轴将多个数据集合并 pd.concat(objs, axis=0, join='outer', join_axes=None, ignore_index=Fa ...
- pandas常用操作详解——pandas的去重操作df.duplicated()与df.drop_duplicates()
df.duplicated() 参数详解: subset:检测重复的数据范围.默认为数据集的所有列,可指定特定数据列: keep: 标记哪个重复数据,默认为'first'.1.'first':标记重复 ...
- pandas常用操作详解——info()与descirbe()
概述 df.info():主要介绍数据集各列的数据类型,是否为空值,内存占用情况: df.describe(): 主要介绍数据集各列的数据统计情况(最大值.最小值.标准偏差.分位数等等). df.in ...
- Linux常用操作详解
第1章 Linux命令基础 1.1 习惯 操作前备份,操作后检查 1.2 简单目录结构 一切从根开始,与windows不同 1.3 规则 [root@znix ~]# [用户名@主机名 你在哪]# 1 ...
- Linux运维常用命令详解
1.ls 文件属性: -:普通文件 d:目录文件 b:块设备 c:字符设备文件 l:符号连接文件 p:命令管道 s:套接字文件 文件权限: 9位数字,每3位一组 文件硬链接次数 文 ...
- Linux的vi常用命令详解
1.vi的基本概念 基本上vi可以分为三种状态,分别是命令模式(command mode).插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下: ...
随机推荐
- Python:循环语句
while 在某种条件下,执行某段程序 >>> w=0 >>> while w<5: ... print 'w :',w ... w=w+1 ... w : ...
- Android之ViewPager组件实现左右滑动View
什么是ViewPager VIewPager是安卓3.0之后提供的新特性,继承自ViewGroup,专门用来实现左右滑动切换View的效果.如果想向下兼容需要 android-support-v4.j ...
- js面向对象的使用方法
标准用法: function Sprite(){ //函数内容部设置属性 this.name='shimily'; } //原型上设置方法 Sprite.prototype.show=function ...
- nodeType的意思
nodeType是用来获得当前节点对象的类型.nodeType 属性可返回节点的类型.元素element 1 属性attr 2 文本text 3 注释comments 8 ...
- 自定义动画css属性
自定义动画: 1.animation-name(自定义动画名称) 元素所应用的动画名称,必须与@keyframes使用,名称由@keyframes定义. keyframes(动画关键帧):以@keyf ...
- AseBulkCopy 若干问题的解决方法
场景:数据库 Ase 15.0, Ado.net客户端15.7 Sybase.AdoNet4.AseClient 错误1:使用Transaction报错 错误2: 存储过程"sp_drv_ ...
- spider_text
__author__ = 'sus'import urllibimport urllib2import re def getPage(url): #获取网页 request = urll ...
- Windows中一个22年的漏洞
X Windows系统,今天作为世界各地的Linux桌面,已经存在超过20年了,仍然存在Bug.几天前Sysadmins为libXfont库提供了补丁,来对应新发现的已经在代码中存在了22年的特权升 ...
- moffiestyle
听说 moffie是 带着胭脂粉气息的男人 为什么用这个名字 因为 我觉得 男生 最美 在 浓妆妖艳的时候 据说 南北朝 是 流行 男人化妆的 ...
- petset翻译
Terminology 通过这个文档,你将会看到一些术语,有时候他们在别的地方交叉使用,这可能会引起一些困惑.这一节的 是帮助你理清楚他们. Node: 一个简单的虚拟或物理机在你的一个k ...