Shell 数组的定义和使用

定义数组

在Shell中,用括号来表示数组,数组元素用“空格”符号分割开。定义数组的一般形式为:
    array_name=(value1 ... valuen)
例如:

array_name=(value0 value1 value2 value3)
或者


array_name=(
value0
value1
value2
value3
)

还可以单独定义数组的各个分量:


array_name[0]=value0
array_name[1]=value1
array_name[2]=value2

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

读取数组

读取数组元素值的一般格式是:
    ${array_name[index]}
例如:

复制纯文本新窗口

valuen=${array_name[2]}

使用@ 或 * 可以获取数组中的所有元素,例如:


${array_name[*]}
${array_name[@]}

获取数组的长度

获取数组长度的方法与获取字符串长度的方法相同,例如:


# 取得数组元素的个数
length=${#array_name[@]}
# 或者
length=${#array_name[*]}
# 取得数组单个元素的长度
lengthn=${#array_name[n]}

字符串转换数组

str="abc sdg gas ger gt ads"

arr=($str)

数组遍历

str="abc sdg gas ger gt ads"

for s in ${str[@]};

do

echo $s

done

时间: 2024-11-05 22:57:40

Shell 数组的定义和使用的相关文章

Shell数组:shell数组的定义、数组长度

Shell在编程方面比Windows批处理强大很多,无论是在循环.运算. bash支持一维数组(不支持多维数组),并且没有限定数组的大小.类似与C语言,数组元素的下标由0开始编号.获取数组中的元素要利用下标,下标可以是整数或算术表达式,其值应大于或等于0. 定义数组 在Shell中,用括号来表示数组,数组元素用“空格”符号分割开.定义数组的一般形式为:     array_name=(value1 ... valuen) 例如: array_name=(value0 value1 value2

【Shell脚本学习13】Shell数组:shell数组的定义、数组长度

Shell在编程方面比Windows批处理强大很多,无论是在循环.运算. bash支持一维数组(不支持多维数组),并且没有限定数组的大小.类似与C语言,数组元素的下标由0开始编号.获取数组中的元素要利用下标,下标可以是整数或算术表达式,其值应大于或等于0. 定义数组 在Shell中,用括号来表示数组,数组元素用“空格”符号分割开.定义数组的一般形式为:     array_name=(value1 ... valuen) 例如: array_name=(value0 value1 value2

Linux Shell系列教程之(六)Shell数组

本文是Linux Shell系列教程的第(六)篇,更多shell教程请看:Linux Shell系列教程 Shell在编程方面非常强大,其数组功能也非常的完善,今天就为大家介绍下Shell数组的用法. Shell支持一维数组(不支持多维数组),并且没有限定数组的大小. 类似与C语言,数组元素的下标由0开始编号.获取数组中的元素要利用下标,下标可以是整数或算术表达式,其值应大于或等于0. 一.Shell数组的定义 在Shell中,用括号来表示数组,数组元素之间用“空格”分割开. 定义数组的一般形式

Shell脚本笔记(五)Shell数组

Shell数组 1.定义数组 语法一:    array=(val1 val2 val3) 语法二:   array=($(order))  或者  array=(`order`) 2.打印数组 echo ${array[3]} echo ${array[*]} 3.删除数组 unset array[2] unset array 4.数组截取替换 同字符串操作略 原文地址:https://www.cnblogs.com/Shadowplay/p/8284149.html

shell数组的应用实践

shell数组的定义: 方法1:用小扩话将变量值括起来赋值给数组变量,每个变量值之间要用空格进行分割. 语法如下: array=(value1  value2 value3 ....)   #常用 方法2:用小括号将变量值括起来,同时采用键值对的形式赋值. 最三种比较麻烦,不使用. 第四种方法是动态定义数组变量,并使用命令的输出结果作为数组的内容: array=($(命令)) 或者: array=(`命令`) 13.2.2 shell脚本打印及输出 3.数组赋值: 删除是要使用unset删除下标

shell数组定义和操作

这是某天晚上自己闲来没事学习solr的时候忽然看见数组的定义,想转发一个比较详细的数组操作. 1.数组定义 a=(1 2 3 4 5) echo $a 一对括号表示是数组,数组元素用"空格"符号分割开. 2.数组读取与赋值 得到长度: echo ${#a[@]}5 用${#数组名[@或*]} 可以得到数组长度 读取: echo ${a[2]} 3 echo ${a[*]} 1 2 3 4 5 用${数组名[下标]} 下标是从0开始  下标是:*或者@ 得到整个数组内容 赋值: a[1]

shell中数组的定义与操作

前言: 在Linux平台上工作,我们经常需要使用shell来编写一些有用.有意义的脚本程序.有时,会经常使用shell数组.那么,shell中的数组是怎么表现的呢,又是怎么定义的呢?接下来逐一的进行讲解,shell中的数组. 数组的定义 何为数组?学过计算机编程语言的同学都知道,数组的特性就是一组数据类型相同的集合(不包括有一些编程语言提出来的关联数组的概念).那么shell中数组是怎么定义的呢,我们来看两种数据类型:一是数值类型,二是字符串类型:虽然shell本身是弱类型的,但也可以这么区分.

linux shell 数组建立及使用技巧

转自linux shell 数组建立及使用技巧 linux shell在编程方面比windows 批处理强大太多,无论是在循环.运算.已经数据类型方面都是不能比较的. 下面是个人在使用时候,对它在数组方面一些操作进行的总结. 1.数组定义 [[email protected] ~]$ a=(1 2 3 4 5)[[email protected] ~]$ echo $a1 一对括号表示是数组,数组元素用“空格”符号分割开. 2.数组读取与赋值 得到长度: [[email protected] ~

shell数组和字典

shell数组和字典 #!/bin/bash echo "shell定义字典" #必须先声明 declare -A dic dic=([key1]="value1" [key2]="value2" [key3]="value3") #打印指定key的value echo ${dic["key1"]} #打印所有key值 echo ${!dic[*]} #打印所有value echo ${dic[*]} #遍