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),各模式的功能区分如下: ...
随机推荐
- jboss设置图片上传大小
<http-listener name="default" socket-binding="http" max-post-size="10485 ...
- SQL SERVER 2008
sql server 2008 r2 下载安装教程 sql server 2008 是微软公司开发的一套数据库管理系统.是目前大型数据库中常用数据库之一.性能稳定,功能强大,是面向中大型企业的一款数据 ...
- PHP发送电子邮件
1.导入文件,如本案例把Stmp.class.php放到Common\Common目录下,代码很多,直接复制就行! <?php namespace Common\Common; class Sm ...
- LTE Air interface Channels-----http://www.rfwireless-world.com/Tutorials/LTE-logical-transport-physical-channels.html
LTE technology works based on three channel types viz. logical channel,transport channel and physica ...
- 如何通过命令行创建和设置一个MySQL用户
我想要在MySQL服务器上创建一个新的用户帐号,并且赋予他适当的权限和资源限制.如何通过命令行的方式来创建并且设置一个MySQL用户呢? 要访问一个MySQL服务器,你需要使用一个用户帐号登录其中方可 ...
- 个人c语言编程风格总结
总结一下我个人的编程风格及这样做的原因吧,其实是为了给实验室写一个统一的C语言编程规范才写的.首先声明,我下面提到的编程规范,是自己给自己定的,不是c语言里面规定的. 一件事情,做成和做好中间可能隔了 ...
- Poj1743 (后缀数组)
#include<cstdio> #include<algorithm> #include<cstring> #include<cmath> using ...
- "$cond"
db.items.aggregate([ { "$project": { "name": 1, "customfield": { " ...
- git入门学习
初步学习笔记. 1.创建仓库:git init 仓库:个人理解为文件存放及版本追踪的容器,对应着一个目录,目录中包含用户的文件及git用来追踪文件版本的一系列文件. 新建并进入HelloWorld目录 ...
- Jupyter notebook 配置目录
默认打开Jupyter notebook,工作目录是C:\Users\Username,这里面有很多其它与Jupyter notebook无关的文件,也很有用,不能看着烦就删掉,所以需要修改Jupyt ...