码迷,mamicode.com
首页 > 编程语言 > 详细

11、bash编程之数组

时间:2018-03-30 12:20:19      阅读:170      评论:0      收藏:0      [点我收藏+]

标签:数组

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!