博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
shell 3数组
阅读量:4638 次
发布时间:2019-06-09

本文共 1527 字,大约阅读时间需要 5 分钟。

shell数组

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

定义数组

shell中,用括号来表示数组,数组元素用空格分隔,下标从0开始,元素的类型

方式1

数组名=(值1 值2...值n),如array_name=(value0 value1 value2)

方式2

array_name=(value0   value1   value2   )

方式3 单独定义数组的值

array_name[0]=value0array_name[1]=value1array_name[2]=value2

读取数组

获取数组某个元素的值${数组名[下标]} 使用@可以获取数组中的所有元素${数组名[@]}

获取数组的长度

获取数组长度的方法和获取字符串长度的方法相同。length=${#数组名[@]}length=${#数组名[*]}获取数组某元素的长度length=${#数组名[下标]}
#shell#!/bin/shlist1=("east" "west" "north" "south")list2=('one' 'two'  'three'  'four')list3[0]="陆风"list3[1]="江铃"list3[3]="长安"echo "list1: "${list1[@]} ${#list1[@]}echo "list2: "${list2[@]} ${#list2[@]}echo "list3: "${list3[@]} ${#list3[@]}echo "list3[0]: "${list3[0]} ${#list3[0]}echo "list3[2]: "${list3[2]} ${#list3[2]}

list1: east west north south 4

list2: one two three four 4
list3: 陆风 江铃 长安 3
list3[0]: 陆风 2
list3[2]: 0

shell数组中和@的区别
加上双引号,会被当成一串字符串处理

@加上双引号,依然被当作数组处理
#shell#!/bin/shlist_a=(1 2 'a' b)echo "--{array[@]}--"for i in ${list_a[@]};do    echo $idoneecho "--{array[*]}--"for i in ${list_a[*]};do    echo $idoneecho "--\"{array[@]}\"--"for i in "${list_a[@]}";do    echo $idoneecho "--\"{array[*]}\"--"for i in "${list_a[*]}";do    echo $idone

--{array[@]}--

1
2
a
b
--{array[*]}--
1
2
a
b
--"{array[@]}"--
1
2
a
b
--"{array[*]}"--
1 2 a b

变量在数组中的使用

数组里添加变量,必须要加$,否则添加的是一个字符串使用变量作为下标去获取value,变量加不加$都可以
#shell#!/bin/shstrA="Tom Cat"StrB="Black"a=3list_a=(1 2 'a' b $strName StrDarle)echo ${list_a[@]}echo ${list_a[$a]} ${list_a[a]}

1 2 a b StrDarle

b b

转载于:https://www.cnblogs.com/csj2018/p/9541595.html

你可能感兴趣的文章
第一阶段冲刺3
查看>>
父类引用指向子类对象
查看>>
网页如何实现下载功能
查看>>
IT男专用表白程序
查看>>
读《大道至简》第六章感想
查看>>
ef linq 中判断实体中是否包含某集合
查看>>
章三 链表
查看>>
Solution for Concurrent number of AOS' for this application exceeds the licensed number
查看>>
CSE 3100 Systems Programming
查看>>
IntelliJ IDEA 的Project structure说明
查看>>
Java Security(JCE基本概念)
查看>>
Linux Supervisor的安装与使用入门
查看>>
创建 PSO
查看>>
JasperReport报表设计4
查看>>
项目活动定义 概述
查看>>
团队冲刺04
查看>>
我的Python分析成长之路8
查看>>
泛型在三层中的应用
查看>>
SharePoint2010 -- 管理配置文件同步
查看>>
.Net MVC3中取得当前区域的名字(Area name)
查看>>