Shell脚本学习(五)

Shell脚本学习(五)

1.shell中的数组

1.1数组

数组用来存放相同类型的多个值

数组有下标(有些人称之为索引)下标是从0开始的

1.2数组定义的方法

方法一(个人建议用这一种):

数组名=(value0 value1 value2 value3 .....)

方法二:

数组名=([0]=value [1]=value ......)

方法三:

列表名="value0 value1 value2 ......."
数组名=($列表名)

方法四:

数组名[0]="value"
数组名[1]="value"
数组名[2]="value"
数组名[3]="value"
...........

1.3数组包括的类型

数值类型、字符类型(使用“或”定义)

2.数组的经典的小案例

2.1需求:

1.期末考试了,老师需要从电脑输入成绩

2.假设只有5名学生参与考试

3.老师需要选出这次考试的最高分,并打印出来

2.2需求分析

1.老师需要从电脑输入成绩,就需要实现人机交互,并将数字存入数组

2.只有五名同学,就说明要输入5次,这个就需要使用循环

3.老师需要知道最高分是多少,这个就需要对数组里面的数进行一一比较,得出最高的分数,一一比较就需要再一次使用循环

2.3实现需求

vim testshuzudemo.sh
#!/bin/bash
for ((j=1;j<=5;j++))    //实现循环输入5个学生的成绩
do
    read -p "请输入第$j个数" num  //人机交互实现将学生的成绩录入数组
    a=$j-1
    array[$a]="$num"
done
echo "${array[*]}"     //将学生的成绩都打印出来
len=${#array[*]}
a=0
b=0
for i in `seq $len`     //将学生的成绩进行一一比较,得出最高分
do
  a=${array[ $i - 1 ]}
  if [ $a -ge $b ]
      then
        let b=$a
  fi
done
echo "最大值为$b"
chmod +x testshuzudemo.sh

2.4测试

./testshuzudemo.sh
请输入第1个数98
请输入第2个数67
请输入第3个数87
请输入第4个数76
请输入第5个数54
98 67 87 76 54
最大值为98

3.总结

数组和循环是离不开的,比如刚刚我们的小案例。通过循环讲数据写入到数组里面,在通过循环将数组里面的最大值筛选出来,我们可以发现,对数组的操作离不开循环。除了手动通过数组的语法一个一个写。shell脚本的强大之处就在于可以简化人工输入的步骤,快速实现功能。

下面展示一下Shell脚本的功能

1.自动化系统初始化(update,软件安装,时区设置,安全策略)
2.自动化批量脚本部署程序(LAMP,LNMP,Tomcat,LVS,Nginx)
3.管理应用程序 (KVM,集群管理扩容,MySQL,批量Raid)
4.日志分析处理程序(PV,UV,200,!200,top100,grep/awk)
5.自动化备份恢复程序(mysql完全备份、增量备份+crond)
6.自动化管理程序(批量远程修改密码,软件升级,配置更新)
7.自动化信息采集监控程序(手机系统/应用状态信息,CPU,Men,Disk,Net,Apache,MySQL,TCP Status)
8.配合zabbix信息采集(手机系统/应用状态信息,CPU,Men,Disk,Net,Apache,MySQL,TCP Status)
9.自动化扩容(增加云主机---->部署应用)
	zabbix监控CPU 80%+ Python API AWS/EC2(增加、删除云主机) + Shell Script(业务上线)
10.俄罗斯方块,打印三角形,打印圣诞树,打印五角星,运行小火车,坦克大战,排序算法实现
11.Shell可以做任何事(取决于需求)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值