数组是一个很有用的数据结构,经常使用的功能有初始化,遍历,查找,获取数组长度等操作

一、初始化

小括号中使用空格分开的数据结构就是一个数组,也可使用下标添加元素

arr=(1 'nice' '2days')
arr[3]='yum'

二、输出数组

echo ${arr[*]}  ## *也可以使用@代替

三、遍历数组

for e in ${arr[*]};do
echo $e
done

四、获取指定索引元素

echo ${arr[]}

五、获取数组长度

echo ${#arr[*]}

实际应用

1、将/usr/local下的数据放入数组

arr=`ls /usr/local`       ### 也可写成:arr=$(ls /usr/local)
for e in ${arr[*]};do
echo $e
done

2、将文件中的内容放入数组

file文件内容如下

apple,pen,orange

读取文件,通过管道,将逗号变为空格,就形成了一个数组,源文件内容不会变动

for e in `cat ./file | sed 's/,/ /g'`;do
echo $e
done

3、找出/usr/local下文件所有者和所在组均为tomcat的文件夹

for e in `ls -l /usr/local | awk '{print $3 $4":" $9}'`;do
if [ "`echo $e | cut -d ':' -f 1`" == "tomcattomcat" ];then
echo "`echo $e | cut -d ':' -f 2`"
fi
done

Shell中数组的使用的更多相关文章

  1. shell中数组讲解

    定义数组 在Shell中,用括号来表示数组,数组元素用"空格"符号分割开.定义数组的一般形式为: 代码如下: 数组名=(值1 值2 ... 值n) 例如: 代码如下: array_ ...

  2. linux shell 中数组使用方法介绍

    linux shell在编程方面比windows 批处理强大太多,不管是在循环.运算.已经数据类型方面都是不能比較的. 以下是个人在使用时候,对它在数组方面一些操作进行的总结. 1.数组定义 [che ...

  3. shell 中数组学习

         因为应用shell的时间不是太长.对于数组在实际项目中没有接触过.今天在需要把相似于:a=1,2,3,4这种东西转换. 之前用的方法是用awk,分别取出.所以今天想是否有更好更简洁的方法-- ...

  4. linux shell 中数组的定义和for循环遍历的方法

    linux 中定义一个数据的语法为: variable=(arg1 arg2 arg3 ....) 中间用空格分开.数组的下标从0开始. 1 获取下标为n的元素: variable[n] 而且不存在数 ...

  5. shell中数组基础语法

    数组的基本赋值 arr=(a b c) arr[index]=a 2.常用的两个方法 str=${arr[@]}(数组转化成字符串) len=${#arr[*]}(数组长度) 3.遍历数组的方法 #! ...

  6. Linux Shell 中数组的语法及应用

    #!/bin/sh## 数组的声明与初始化方法# 先声明后赋值:declare -a arrayarray=(one two three) # 声明并初始化:array_1=(1 2 3 four) ...

  7. shell中数组及其相关操作

    转载 https://blog.csdn.net/jerry_1126/article/details/52027539

  8. shell脚本中数组array常用技巧学习实践

    shell中数组的下标默认是从0开始的 1.将字符串放在数组中,获取其长度 #!/bin/bashstr="a b --n d"array=($str)length=${#arra ...

  9. linux shell 中的数组的取值 遍历 替换 删除操作

    引言 在Linux平台上工作,我们经常需要使用shell来编写一些有用.有意义的脚本程序.有时,会经常使用shell数组.那么,shell中的数组是怎么表现的呢,又是怎么定义的呢?接下来逐一的进行讲解 ...

随机推荐

  1. 关于int main( int argc, char* argv[] ) 中arg和argv参数的解析及调试

    https://blog.csdn.net/LYJ_viviani/article/details/51873961 https://stackoverflow.com/questions/30241 ...

  2. 阿里如何实现海量数据实时分析技术-AnalyticDB

    导读:随着数据量的快速增长,越来越多的企业迎来业务数据化时代,数据成为了最重要的生产资料和业务升级依据.本文由阿里AnalyticDB团队出品,近万字长文,首次深度解读阿里在海量数据实时分析领域的多项 ...

  3. 知乎专栏开放性api

    概述 这是我在工作中扒的知乎专栏的开放性api,记录下来供以后开发时参考,相信对其他人也有用. 参考资料: zhihu库 zhihu-oauth库 开放性api 其中hemingke是专栏名字,可以换 ...

  4. 【TensorFlow篇】--反向传播

    一.前述 反向自动求导是 TensorFlow 实现的方案,首先,它执行图的前向阶段,从输入到输出,去计算节点值,然后是反向阶段,从输出到输入去计算所有的偏导. 二.具体 1.举例 图是第二个阶段,在 ...

  5. 前端CSS学习-Background背景相关

    在CSS中 背景属性用于定义HTML元素的背景. background主要设置一下五个属性: background-color  // 设置元素的背景颜色. background-image // 把 ...

  6. h2engine游戏服务器设计之聊天室示例

    游戏服务器设计之聊天室示例 简介 h2engine引擎建群以后,有热心网友向我反馈,想尝试h2engine但是没有服务器开发经验觉得无从入手,希望我能提供一个简单明了的示例.由于前一段时间工作实在忙碌 ...

  7. Elasticsearch.Net、Nest批量插入BulkAll

    demo地址:BulkAll 批量导入 实现目标:想要使用ElasticSearch的 .Net Api客户端NEST批量导入数据,并发异步高效的批量导入 NEST提供了BulkAll 不废话,上代码 ...

  8. [.NET] 一步步打造一个简单的 MVC 电商网站 - BooksStore(一)

    一步步打造一个简单的 MVC 电商网站 - BooksStore(一) 本系列的 GitHub地址:https://github.com/liqingwen2015/Wen.BooksStore &l ...

  9. Windows Tomcat 日志输出到 catlina.out 按日期输出,自启动

    配置tomcat和jdk环境变量 CATALINA_BASE D:\ApacheSoftwareFoundation\Tomcat8.5 CATALINA_HOME D:\ApacheSoftware ...

  10. WIN10安装不上IIS,使用IISExpress作为发布服务

    [背景] 本人开发Win程序,需要调用网站资源作为Win程序的辅助功能,为此需要本地开发环境支持IIS.最近重装系统,VS安装完后,接着再安装IIS,可以在添加删除程序中反复尝试,均告安装失败提示.最 ...