Linux Shell编程及自动化运维实现 变量
Linux Shell编程及自动化运维实现 判断
Linux Shell编程及自动化运维实现 循环
Linux Shell编程及自动化运维实现 数组和函数
Linux Shell编程及自动化运维实现 三剑客
Linux Shell编程及自动化运维实现 综合实战
什么是Shell
shell语言的特点
- SHELL语言是指UNIX操作系统的命令语言,同时又是该命令语言的解释程序的简称。
- Shell本身是一个用C语言编写的程序,它是用户使用Unix/Linux的桥梁,用户的大部分工作都是通过Shell完成的。
- Shell既是一种命令语言,又是一种程序设计语言。作为命令语言,它交互式地解释和执行用户输入的命令;
- 作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支。
- 它虽然不是Unix/Linux系统内核的一部分,但它调用了系统核心的大部分功能来执行程序、
- 建立文件并以并行的方式协调各个程序的运行。
- 因此,对于用户来说,shell是最重要的实用程序,
- 深入了解和熟练掌握shell的特性极其使用方法,是用好Unix/Linux系统的关键。
Shell 能做什么
1. 自动化批量系统初始化程序 (update,软件安装,时区设置,安全策略...)
2. 自动化批量软件部署程序 (LAMP,LNMP,Tomcat,LVS,Nginx)
3. 应用管理程序 (KVM,集群管理扩容,MySQL,DELLR720批量RAID)
4. 日志分析处理程序(PV, UV, 200代码, !200代码, top 100, grep/awk)
5. 自动化备份恢复程序(MySQL完全备份/增量 + Crond)
6. 自动化管理程序(批量远程修改密码,软件升级,配置更新)
7. 自动化信息采集及监控程序(收集系统/应用状态信息,CPU,Mem,Disk,Net,TCP Status,Apache,MySQL)
8. 配合Zabbix信息采集(收集系统/应用状态信息,CPU,Mem,Disk,Net,TCP Status,Apache,MySQL)
9. 自动化扩容(增加云主机——>业务上线)
zabbix监控CPU 80%+|-50% Python API AWS/EC2(增加/删除云主机) + Shell Script(业务上线)
10. 俄罗斯方块,打印三角形,打印圣诞树,打印五角星,运行小火车,坦克大战,排序算法实现
11. Shell可以做任何事(一切取决于业务需求)
Shell的执行方式
1和2的方式,是子shell
3和4的方式,是本shell
- 执行1:bash ping01.sh
- 执行2:sh ping01.sh
- 执行3:. bash.sh
- 执行4: source bash.sh
shell解释器有哪些
Linux支持的shell有哪些呢?
cat /etc/shells
或
chsh -l