2.2-shell数组

a=(1 2 3 4 5)     定义1个数组

echo $a           只显示1,不能显示整个数组的所有元素

echo ${a[@]}      显示整个数组的所有元素,@也可以写成*

echo ${a[0]}      只显示数组中第一个元素,标记0  如果打印不存在的标记5,则显示为空。

a[5]=6            增加一个元素和标记到数组内

a[2]=7            修改标记2的元素为7

echo ${#a[@]}     打印数组内,共有几个元素的总和

unset a[2]        在数组内,删除一个元素和标记

数组的应用:对10个随机数字,进行排序。

#!/bin/bash

for i in `seq 0 9`

do

a[$1]=$RANDOM    给数组赋值

done

echo ${a[@]}|sed ‘s/ /\n/g‘|sort -n  对数组处理后,排序打印    \n是换行符

其中$RANDOM是随机产生3-5位的数字,sort是对多行进行排序,所以用sed把空格处理成换行

echo $[a[@]:0:4]    :0表示从0标记开始显示     :4代表显示4个元素

时间: 2024-12-15 02:41:01

2.2-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