shell基础之五:数组初步

一、数组概述

数组:数据结构

数据序列,连续的多个数据,可以使用索引获取相关元素

声明数组:declare -e ARRAYNAME

初始化赋值:ARRAYNAME=(“STRING1” "STRING2"...)

ARRAYNAME=("STRING1" [4]="STRING2"...)

ARRAYNAME=ARRAYNAME[0]="STRING1" ARRYNAME[3]="STRING"

获取数组中所有元素:${ARRARYNAME[@],${ARRAYNAME[*]}

获取数组中有效元素的总个数:${#ARRAYNAME[@]},${#ARRAYNAME[*]}

获取某一元素中字符串的长度:${#ARRAYNAME[INDEX]} (INDEX=0,1,2,3...)

例:

[[email protected] shell]# echo ${color[0]}
red
[[email protected] shell]# echo ${color[1]}
bule
[[email protected] shell]# echo ${color[2]}
gree
[[email protected] shell]# echo $color[2] 
red[2]
[[email protected] shell]# echo $color         #数组不指定引用其第几个元素默认是引用第一个元素
red
[[email protected] ~]# x=(nihao "s b" [4]=‘ruozhi‘)
[[email protected] ~]# echo ${x[5]} 
               
[[email protected] ~]# echo ${x[2]}

[[email protected] ~]# echo ${x[1]}
s b
[[email protected] ~]# echo ${x[4]}
ruozhi
[[email protected] ~]# x=(333 22 4444 555555555)
[[email protected] ~]# echo ${#x[1]}
2
[[email protected] ~]# echo ${#x[3]}
9

二、bash伪随机数生成器

  $RANDOM

练习:

1、打印九九乘法表

[[email protected] shell]# cat 12.sh
#!/bin/bash
n=(‘1‘ ‘2‘ ‘3‘ ‘4‘ ‘5‘ ‘6‘ ‘7‘ ‘8‘ ‘9‘)
for x in $(seq 0 8);do
    for y in $(seq 0 $x);do
        echo -e -n "${n[y]}x${n[x]}=$[${n[x]}*${n[y]}]\t"
        done
   echo
done

[[email protected] shell]# bash 12.sh
1x1=1
1x2=2   2x2=4
1x3=3   2x3=6   3x3=9
1x4=4   2x4=8   3x4=12  4x4=16
1x5=5   2x5=10  3x5=15  4x5=20  5x5=25
1x6=6   2x6=12  3x6=18  4x6=24  5x6=30  6x6=36
1x7=7   2x7=14  3x7=21  4x7=28  5x7=35  6x7=42  7x7=49
1x8=8   2x8=16  3x8=24  4x8=32  5x8=40  6x8=48  7x8=56  8x8=64
1x9=9   2x9=18  3x9=27  4x9=36  5x9=45  6x9=54  7x9=63  8x9=72  9x9=81

1、通过脚本生成N个随机数(N>5),对这些随机数按从小到大排序(冒泡排序)

3、从所有同学们中挑选随机任意位

时间: 2024-10-19 08:57:13

shell基础之五:数组初步的相关文章

【shell基础】11、数组初步

一.数组 数组:是一种数据结构, 数据序列,连续的多个数据,可以使用索引获取相关元素 声明数组: declare -a ARRAYNAME  # 可以不事先声明 初始化赋值:    ARRAYNAME=("STRING1" "STRING2"...)   #使用空格隔开    ARRAYNAME=("STRING1" [4]="STRING2"...)    ARRAYNAME[0]="STRING1" A

bash shell基础特性之三(数组)

bash shell基础特性之三(数组) 一.数组定义 数组指连续的多个独立内存空间,每个内存空间相当于一个变量. bash shell只支持一维数组,但参数个数没有限制. 数组元素:数组名+索引(从0开始编号) 声明数组:declare -a ARRAR_NAME(其实不用声明,按数组方式直接赋值给变量即可,BASH就知道那是数组) 关联数组:declare -A ARRAY_NAME 数组元素的赋值:一次赋值全部元素.指定索引进行赋值.一次只赋值一个元素 (1) array=(var1 va

Shell基础学习小结

0 shell基础概念 Shell是解释性语言,使用脚本编程语言的好处是,它们多半运行在比编译型语言还高的层级,能够轻易处理文件与目录之类的对象:缺点是它们的效率通常不如编译型语言.Shell命令有本身的限制和效率问题,以下情况一般不推荐Shell: 资源密集型的任务,尤其在需要考虑效率时(比如,排序,hash等等). 需要处理大任务的数学操作,尤其是浮点运算,精确运算,或者复杂的算术运算(这种情况一般使用C++或FORTRAN 来处理). 有跨平台(操作系统)移植需求(一般使用C 或Java)

shell 基础语法

shell 基础语法 =============================================== 推荐:http://c.biancheng.net/cpp/shell/ =============================================== 第一个Shell脚本 =============================================== 格式: (1)扩展名为sh(sh代表shell) 比如:bash.sh (2)文件头(文件头固

Linux操作系统基础解析之(七)——Bash(Shell)基础知识(3)

五.注释 在非交互shell中或交互式shell中,内置命令shopt的选项interactive_comments被开启.以"#"开始的词使得这个词所在这一行上所有其他的剩余字符都被忽略(或称注释).交互式shell不用开启interactive_comments选项也不支持注释.interactive_comments选项在交互式shell中是默认启用的.注释是编写程序时,写程序的人给一个语句.程序段.函数等的解释或提示,能提高程序代码的可读性,以便于以后的参考.修改.后来,在应用

Linux Shell编程之五字符串的处理

shell编程之字符串处理 在 shell 中,由于是一种弱类型的语言,在没有事先申明变量类型的情况下,所有的变量都是字符串.所以对字符串的处理就显得相当重要了. 下面介绍常见的对字符串处理的操作. 一.字符串切片 ${string_var:offest:length},类似于数组元素的提取. # 这里的string_var是一个变量,offest 是字符串的开始偏移量,length是切去字符串的长度 var=dhcpd:x:177:177:DHCP server:/:/sbin/nologin

Linux运维 第二阶段 (八)shell基础

Linux运维第二阶段(八)shell基础 一.shell的两种主要语法:Bourne家族(sh/ksh/bash/psh/zsh);C家族(csh/tcsh). 注:bash和zsh在不同程度上支持csh的语法. #vi  /etc/shells                 (可查询linux支持的shell) 二.1.#echo  -e|-n  输出内容 -e      可支持反斜线\控制的字符转换(\\,\a,\b,\c,\e,\f\,\n,\r,\t,\v,\0mmm,\xhh) -

大数据入门基础系列之初步认识大数据生态系统圈(博主推荐)

之前在微信公众平台里写过 大数据入门基础系列之初步认识hadoop生态系统圈 http://mp.weixin.qq.com/s/KE09U5AbFnEdwht44FGrOA 大数据入门基础系列之初步认识大数据生态系统圈 1.概述 最近收到一些同学和朋友的邮件,说能不能整理一下 Hadoop 生态圈的相关内容,然后分享一些,我觉得这是一个不错的提议,于是,花了一些业余时间整理了 Hadoop 的生态系统,并将其进行了归纳总结,进而将其以表格的形式进行了罗列.涉及的内容有以下几点: 分布式文件系统

Shell基础入门

目录 Shell基础入门 1.什么是Shell? 2.Shell脚本的结构 3.Shell的变量 3.1.自定义环境变量 3.2.普通变量 3.3.位置参数变量 3.4.状态变量 4.条件测试和比较 4.1.条件测试常用的语法形式: 4.2.文件测试表达式的用法: 4.3.字符串测试表达式 4.4.整数二元比较操作符 4.5.逻辑操作符 5.If条件语句 6.case语句 7.for循环语句 8.while循环语句 9.函数 9.1.shell函数的常见语法 9.2.shell函数的执行 10.