1.Shell编程-基础
[toc]
shell的基本概述
为什么要使用shell?
- 安装操作系统(CentOS)自动化安装操作系统(kickstart cobbler)底层shell
- 初始化优化操作系统
- ntp时间同步
- 更改默认yum源
- ssh优化
- 关闭Selinux
- 关闭/开启 防火墙(C6:iptables C7:firewalld)
- 安装基础服务(wget vim lrzsz net-tools unzip gzip…)
- 优化文件描述符
- 优化字符集
- 安装服务
- Nginx
- PHP
- MySQL
- Redis
- MHA
- Rsync
- NFS
- MongoDB
- Zabbix
- 启动 服务(系统默认的shell脚本)
- 脚本实现自动化代码上线
- 监控服务(使用shell)
- 结合定时任务使用shell
- 重复性工作写入脚本
- 日志切割
- 日志分析
- 数据统计
- 机器巡检
- 数据备份
shell的编程和基础知识
- 熟练使用vim编辑器
- 熟悉ssh终端(Xshell、CRT)
- 熟练掌握linux常用命令
- 熟练掌握linux正则表达式及三剑客命令
如何写好shell的编程
- 环境变量
- 条件表达式
- 流程控制语句
- 循环
- 数组
- 函数
学习shell三部曲:
- 先读懂shell
- 再修改shell
- 自己写shell
找一本合适的教材、或者自己认真做的较为全面的笔记
大忌:不可拿来主义,可以模仿,但是要自己嚼烂了在吃下
学完shell 可解决企业中大部分脚本问题
什么是shell
交互式shell
交互式模式就是shell等待你的输入,并且执行你提交的命令。
这种模式被称作交互式是因为shell与用户进行交互,也是大多数用户非常熟悉的:登录、执行一些命令、签退。当你签退后,shell也终止了。
非交互式shell
非交互式模式下,shell不与你进行交互,而是读取存放在文件中的命令,并且执行它们。
当它读到文件的结尾,shell也就终止了。
什么是shell脚本
把在命令行执行的命令放在一个文件里统一执行,称为Shell脚本 包含若干个linux命令、循环语句,条件语句等。
shell脚本规范
目录统一
shell脚本的结尾要以.sh结尾
脚本的开头需要有解释器
1
脚本中需要有作者信息
1
2
3
4
#Author: _ChenlinHe_
#Date: _1999-12-31_
#Name: _Print Message_必须要加注释(开发规范,运维规范…)
shell中的文字尽量使用英文
成对的符号和语句一次性书写完
自定义一个vim模板
1 | # 先编辑一个模板文件,该模板文件可以叫任何名字 |
脚本的执行方式
1 | # 执行脚本的方式 |
开发语言中程序代码的分类
编译型
写完后,需要编译才能运行。开发书写的代码,无法直接运行,需要编译(Java、C语言、等)
1 | # 编辑代码 |
解释型
书写完成,通过命令解释器运行。书写完成后,使用对应的命令解释器(shell、python、等)
1 | # 编辑代码 |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 奥利奥の麦旋风!