Shell入门(四)之数组

一、一维数组

  bash支持一维数组(不支持多维数组),并且没有限定数组的大小。

  类似与C语言,数组元素的下标由0开始编号。

二、定义数组

在Shell中,用括号来表示数组,数组元素用"空格"符号分割开。

array_name=(value0 value1 value2 value3)

array_name=( value0

value1

value2

value3 )

array_name[0]=value0

array_name[1]=value1

array_name[n]=valuen

可以不使用连续的下标,而且下标的范围没有限制。

#!/bin/bash
a=( 1 2 3 4 )
b=(11
 12
 13
 14)
c[0]=21
c[2]=22
c[3]=23
c[4]=24
echo  ${a[@]}     #1 2 3 4
echo  ${b[@]}     #11 12 13 14
echo  ${c[@]}     #21 22 23 24

三、读数组

${数组名[下标]}

#!/bin/bash
a=( 1 2 3 4 )
echo  ${a[1]}     #2

使用@符号或者*可以获取数组中的所有元素

#!/bin/bash
a=( 1 2 3 4 )
echo  ${a[@]}     #1 2 3 4
echo  ${a[*]}     #1 2 3 4

四、数组的长度

${#a[@]}或${#a[*]}取数组的长度
${#a[n]}取的是a[n]转成string的长度
#!/bin/bash
a=( 111 2 3 4 5 )
echo  ${#a[@]}     #5
echo  ${#a[*]}     #5
echo  ${#a[0]}     #3
echo  ${#a[5]}     #0
echo  ${#a[n]}     #3
时间: 2024-10-13 04:12:13

Shell入门(四)之数组的相关文章

shell入门之一

第1章 shell入门   shell是一个命令解释器,它的操作系统的最外层,负责直接与用户对话,把用户的输入解释给操作系统,并处理各种二样的操作系统的输出结果,输出屏幕返回给用户   对话的方式可以是:   交互式方式:从键盘输入命令,通过/bin/bash 解析,可以立即得到shell的回应   非交互式方式:脚本   1.1 下图就是命令解释器: shell是英文是贝壳的意思,命令解释器shell像一个贝壳一样包住系统核心 shell执行的命令分为两种方式: 内置命令:如讲过的cd . p

Thinkphp入门 四 —布局、缓存、系统变量 (48)

原文:Thinkphp入门 四 -布局.缓存.系统变量 (48) [控制器操作方法参数设置] http://网址/index.php/控制器/操作方法 [页面跳转] [变量调节器] Smarty变量调节器 TP变量调节器:普通的php函数 (count  strlen   str_replace) 定义:前者的输出,是后者的输入 [子模板包含] 当前模块彼此包含 <include  file=”模板名称”  /> [使用布局layout] 1. 开启布局,配置变量信息config.php 2.

Redbean:入门(四) - 反射机制 以及 事务

<?php //引入rb入口文件 include_once 'rb.php'; //定义dsn以及相关的数据 $dsn = 'mysql:host=localhost;dbname=hwibs_model'; $user = 'root'; $pass = ''; $table = 'link'; //链接数据库 R::setup($dsn,$user,$pass); //链接数据表 $handler = R::dispense($table); //inspect::反射表,将表的字段结构返回

shell脚本编程之数组

数组就是相同数据类型的元素按一定顺序排列的集合,就是把有限个类型相同的变量用一个名字命名,然后用编号区分他们的变量的集合,这个名字称为数组名,编号称为下标.组成数组的各个变量称为数组的元素.数组是在程序设计中,为了处理方便, 把具有相同类型的若干变量按有序的形式组织起来的一种形式. 一.数组的表示方式 1.下标数组 下标必须为整数,格式:数组名[下标],下标默认从0开始. shell支持稀疏数组,下标整数不需要连续. 声明方式:declare -a 数组名 2.关联数组 关联数组可以使用任意的字

AppleWatch开发入门四——Table视图的应用

AppleWatch开发入门四--Table视图的应用 一.Watch上的Table WatchOS中的TableView和iOS中的TableView还是有很大的区别,在开发之前,首先我们应该明白WatchOS中的Table有哪些局限性和特点.下面几点是我总结WatchOS中Table的特殊之处: 1.Table只有行的概念,没有分区的概念,没有头尾视图的概念. 2.可以通过创建多个Table,来实现分区的效果. 3.因为Watch上是通过Gruop进行布局适应的,所以没有行高等设置. 4.T

&lt;LINUX &gt;bash shell 入门 --linux学习笔记

首先说下我个人对于shell的理解,我觉得shell是一种通过各种控制语句将linux命令进行集合实现批处理的一种脚本语言. shell编程入门其实很简单,语法知识并不多,但是高级shell编程就很难,因为shell是用户和linux之间的桥梁,要编写高质量的shell脚本,就需要用户对linux有很全面的认识. 这里我们只分析shell脚本的语法知识,如想透彻的学习linux还需多努力. shell结构       1.#!指定执行脚本的shell 2.#注释行 3.命令和控制结构 创建she

linux系统编程综合练习-实现一个小型的shell程序(四)

上节中已经对后台作业进行了简单处理,基本上要实现的功能已经完了,下面回过头来,对代码进行一个调整,把写得不好的地方梳理一下,给代码加入适当的注释,这种习惯其实是比较好了,由于在开发的时候时间都比较紧,都只是想办法去尽快实现,而肯定会有一些代码是写得不太好的,所以有时间的话最好是从头至尾将整个代码进行梳理,也许在梳理的过程中会发现许多不足的地方,好了,下面开始: 而这个信号安装函数是在init.c中实现的: 接下来进行shell循环: 它的实现是在parse.c中: 如注释所示,可以挪至init.

shell 入门基础三

    linux shell 编程 1什么是bash shell 变量 shell变量可分为两类: 局部变量和环境变量. 局部变量只在创建它们的shell中可用.而环境变量则可以在创建它们的shell及其派生出来的任意子进程中使用.有些变量是用户创建的,其他的则是专用shell变量.变量名必须以字母或下划线字符开头.其余的字符可以是字母.数字(0~9)或下划线字符.任何其他的字符都标志着变量名的终止.名字是大小写敏感的.给变量赋值时,等号周围不能有任何空白符.为了给变量赋空值,可以在等号后跟一

C#基础入门 四

C#基础入门 四 方法参数 值参数:不附加任何修饰符: 输出参数:以out修饰符声明,可以返回一个或多个给调用者: 如果想要一个方法返回多个值,可以用输出参数来处理,输出参数由out关键字标识,如static void Car(out int x,out int y,int z){},与引用参数区别在于:调用方法前无需对输出参数进行初始化,输出型参数用于传递方法返回的数值. 计算矩形面积的方法:(图8) static void rectangle(int length,int width, ou