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),各模式的功能区分如下: ...
随机推荐
- 初识ReactJs(一)
React的开发背景 ReactJS官网地址:http://facebook.github.io/react/ Github地址:https://github.com/facebook/react J ...
- django模板里循环变量<table>里想要两个一行如何控制
2016-8-3 周三 做项目时遇到的问题: 每个div由循环变量输出: {% for key,value in formextenddetail %} <div id="div_id ...
- 关于博弈论中的一硬币正反问题的分析<二>
昨天分析了一下硬币正反的问题,其中说到一点是求美女收益期望E(女)=-8xy+3y+3x-1 最大化,当然结果我们是说的一个范围内的变化以及可以针对性的调整.这里再次说明一下,不是简单的求二元函数的最 ...
- 用orb-slam2跑RGB-D Example中的TUM Dataset
链接在此:https://github.com/raulmur/ORB_SLAM2 1.按照要求下载数据集,我下载的是rgbd_dataset_freiburg2_pioneer_360,将其解压到你 ...
- Windows Store App 全球化:运行时响应语言变更
在应用程序运行过程中,系统的语言.像素.对比度等系统设置可能会发生改变,应用程序应根据系统环境的改变及时做出适当的响应.为了解决这样的问题,可以在应用程序中为系统状态更改事件注册事件处理方法,当语言. ...
- js面向对象的封装方法,【案例】
封装方法: /** * @矩形canvas库 * @authors Shimily (275766400@qq.com) * @date 2016-12-28 10:30:51 * @version ...
- [CentOS Server] Bug when calling matlab in bash
尝试了好几遍,仍然不能用简写命令调用matlab,这里把过程记录如下. (1). 登录 server [She@She ~]$ ssh shecl@xx.xx.xx.xx Last :: from x ...
- SharePoint 2010 + 左侧导航(Left Nav Bar)二级菜单的修改
SharePoint 2010 + 修改左侧导航类似顶部导航菜单的样式 查找aspmenu的控件,ID为“V4QuickLaunchMenu”,修改分别将属性“StaticDisplayLevels” ...
- usb端口号绑定
由于ubuntu USB设备号为从零开始依次累加,所以多个设备每次开机后设备号不固定,机器人每次开机都要蛋疼的按顺序插, 在网上找到一种方法:udev的规则 udev的规则说明,可以参考博客说明:ht ...
- Swift运算符
运算符分类 运算符分类 一元运算符 1.负号运算符 var number1 = var number2 = -number1 2.正号运算符 //正号运算符不做任何操作 var number3 = + ...