11、bash编程之数组

本文隶属于分类

编程语言

广告推荐

技术交流学习或者有任何问题欢迎加群

编程技术交流群 : 154514123 爱上编程      Java技术交流群 : 6128790  Java

标签:数组

bash编程:
数组初步
数组:数据结构,
技术分享图片

数组是一个序列(当我需要连续存储大量数据时)

声明数组:declare -a arrayName(数组也是可以直接拿来用,也可以不需要定义)
初始化或赋值:各元素间使用空白字符分隔
第一种:arrayName=(‘a‘ ‘b‘ ‘c‘)
[root@www ~]# color=(‘red‘ ‘green‘ ‘blue‘)
[root@www ~]# echo ${color[0]}
red
[root@www ~]# echo ${color[1]}
green
默认情况下,就是指向第一个元素的了,需要引用位置的变量,就需要加中括号去寻找
第二种:arrayName=([index]=‘a‘ [index]=‘b‘)
[root@www ~]# color=(‘red‘ ‘green‘ [4]=‘blue‘)
[root@www ~]# echo ${color[4]}
blue
第三种:arrayName[0]=‘a‘; arrayName[1]=‘b‘

获取数组中有效元素的个数:
${#arrayName[@]}, ${#arrayName[*]}
获取某一元素中字符串的长度:
${#arryName[index]} (index=0,1,2...)
[root@www ~]# color=(‘red‘ ‘green‘ [4]=‘blue‘)
[root@www ~]# echo ${color[4]}
blue
[root@www ~]# echo ${#color[4]}
4
[root@www ~]# color=(‘red‘ ‘green‘ [4]=‘bluesadfasdf‘)
[root@www ~]# echo ${#color[4]}
12

bash伪随机数生成器:$RANDOM
练习:从所有同学们中随机任意位;
练习:通过脚本生成N个随机数(N>5),对这些随机数按从小到大排序;
#/bin/bash
declare i NUM=0
echo -e " The orinal Numberis :"
for I in seq 0 5;do
Maopao[$I]=$RANDOM
echo -e "\033[32m${Maopao[$I]}\033[0m"
done
for I in seq 0 5;do
for J in seq 0 5;do
[ ! $J -ge $I ] && continue
if [ ${Maopao[$J]} -gt ${Maopao[$I]} ];then
NUM=${Maopao[$J]}
Maopao[$J]=${Maopao[$I]}
Maopao[$I]=$NUM
fi
done
done
echo -e " Biger to smaill is :"
for I in seq 0 5;do
echo -e "\033[32m${Maopao[$I]}\033[0m"
done
冒泡排序;
练习:打印九九乘法表
总结:sed awk array $RANDOM
#!/bin/bash
Yunwei=(‘李彬文‘ ‘麦惠道‘ ‘曾小华‘ ‘李明浩‘ ‘宴彪‘ ‘吴志勇‘ ‘周吴波‘ ‘韦欢‘)
pick=$RANDOM%8
echo -e "\033[32mLuckly Boy:${Yunwei[$pick]}\033[0m"
我们讲的第一个服务是openssl,接着讲一些就是dns,还有就是httpd后续都会讲解了

[root@test1 ~]# Database=(linan agent creditstandard)
[root@test1 ~]# echo ${Database[@]} :列出该数组所有元素
linan agent creditstandard
[root@test1 ~]# echo ${#Database[@]} :获取该数组的元素总个数
3
[root@test1 ~]#

11、bash编程之数组

标签:数组

原文:http://blog.51cto.com/425319153/2092874

技术交流学习或者有任何问题欢迎加群

编程技术交流群 : 154514123 爱上编程      Java技术交流群 : 6128790  Java

广告推荐

讨论区