shell数组总结

1.计算数组长度:

${#array[@]}

2.列出数组索引:

${!array[*]}或者${!array[@]}

3.打印数组中所有值:

${array[*]}或者${array[@]}

4.shell中遍历数组元素:

for str in ${array[@]};

do

echo $str;

done

5.定义空数组

uset array

普通数组:

1.初始化:

第一种初始化

[[email protected] ~/q/data/tmp_data]# array_origin=(1 2 3 4)
[[email protected] ~/q/data/tmp_data]# echo ${#array_origin[@]}
4

第二种初始化

[[email protected] ~/q/data/tmp_data]# arra_origin[0]=00
[[email protected] ~/q/data/tmp_data]# arra_origin[1]=11
[[email protected] ~/q/data/tmp_data]# arra_origin[2]=22
[[email protected] ~/q/data/tmp_data]# arra_origin[3]=33

2.访问方式:

[[email protected] ~/q/data/tmp_data]# for item in ${arra_origin[@]}; do echo $item; done
00
11
22
33
<strong>PS:在awk中遍历数组的方式:</strong>
<span style="color:#FF6666;"><strong>i 代表的是key,而非value,切忌!切忌!</strong></span>
[[email protected] ~/q/data/tmp_data]# echo "1" | awk 'BEGIN{array[1]=11; array[2]=22;array[3]=33;array[4]=44} {for( i in array) {print i} }'
1
2
3
4
[[email protected] ~/q/data/tmp_data]# echo "1" | awk 'BEGIN{array[1]=11; array[2]=22;array[3]=33;array[4]=44} {for( i in array) {print array[i]} }'
11
22
33
44

关联数组:

第一种显示申明初始化:

[[email protected] ~/q/data/tmp_data]# declare -A ass_array_1

第二种内嵌索引值列表初始化:

[[email protected] ~/q/data/tmp_data]# ass_array_2=(["host1"]="192.168.1.23" ["ip1"]="192.168.1.23")

赋值:

[[email protected] ~/q/data/tmp_data]# ass_array["host"]="192.168.1.23"
[[email protected] ~/q/data/tmp_data]# ass_array["ip"]="192.168.1.23"

访问:

根据key查询value

[[email protected] ~/q/data/tmp_data]# echo ${ass_array_1["host"]}
192.168.1.23

查看所有key

[[email protected] ~/q/data/tmp_data]# echo ${!ass_array_1[*]}
host1 ip

查看所有value

[[email protected] ~/q/data/tmp_data]# echo ${ass_array[*]}
192.168.1.23 192.168.1.23
时间: 2024-10-11 07:29:50

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[*]} #遍

linux shell数组

from: http://www.jb51.net/article/34322.htm bash shell只支持一维数组,但参数个数没有限制. 声明一个数组:declare -a array(其实不用声明,按数组方式直接赋值给变量即可,BASH就知道那是数组) 数组赋值:(1) array=(var1 var2 var3 ... varN)(2) array=([0]=var1 [1]=var2 [2]=var3 ... [n]=varN)(3) array[0]=var1    arrya[

shell--4、Shell 数组

数组中可以存放多个值.Bash Shell 只支持一维数组(不支持多维数组),初始化时不需要定义数组大小(与 PHP 类似). 与大部分编程语言类似,数组元素的下标由0开始. Shell 数组用括号来表示,元素用"空格"符号分割开,语法格式如下: array_name=(value1 ... valuen) 实例 #!/bin/bash my_array=(A B "C" D) 我们也可以使用下标来定义数组: array_name[0]=value0 array_n

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

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

shell--2.shell数组

shell 数组 (1)定义数组 shell中,用括号表示数组,数组元素用空格分开,定义数组的一般形式 arrt_name=(val1 val2 val3) 或者 arry_name=(val1 var2 val3 val4 ) 或者 arry_name[0]=val1 arry_name[3]=val3 可以不使用连续的下标,而且下标范围没有限制 (2)读取数组 ${arry_name[0]} 使用@读取数组所有的元素 arry[1]=10 arry[3]=20 echo ${arry[@]}

记linux shell的两个小技巧:shell数组和字符串判断

最近在使用shell写脚本的时候,想实现python中两个很简单的功能:1:判断一个字符串是否包含另一个字符串.2:怎么用实现python的列表功:1.这里跟大家分享一下. 1:判断一个字符串是否包含另一个字符串: string="abcdefg" if [[ "$string" =~ "abc" ]];then   echo "do something.." else   echo "nothing.."

Linux Shell数组常用操作详解

Linux Shell数组常用操作详解 1数组定义: declare -a 数组名 数组名=(元素1 元素2 元素3 ) 1 declare -a array 2 array=(1 2 3 4 5) 数组用小括号括起,数组元素之间用空格分开 2显示数组长度: [@tc_132_227 dm_pid_day]$ echo ${#array[@]} 5 [@tc_132_227 dm_pid_day]$ echo ${#array[*]} 5 命令: ${#数组名[@或*]} 获取数组长度,若数组无

shell 数组介绍及相关操作

引言 在Linux平台上工作,我们经常需要使用shell来编写一些有用.有意义的脚本程序.有时,会经常使用shell数组.那么,shell中的数组是怎么表现的呢,又是怎么定义的呢?接下来逐一的进行讲解,shell中的数组. 数组的定义 何为数组?学过计算机编程语言的同学都知道,数组的特性就是一组数据类型相同的集合(不包括有一些编程语言提出来的关联数组的概念).那么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