编程基础
Linus:Talk is cheap, show me the code
程序组成
程序编程风格
面向过程语言
做一件事情,排出个步骤,第一步干什么,第二步干什么,如果出现情况A,做什么处理,如果出现了情况B,做什么处理
问题规模小,可以步骤化,按部就班处理
以指令为中心,数据服务于指令
C,shell
面向对象语言
将编程看成是一个事物,对外界来说,事物是直接使用的,不用关心事物内部的情况。而编程就是设置事物能够完成功能
一种认识世界、分析世界的方法论。将万事万物抽象为各种对象
类是抽象的概念,是万事万物的抽象,是一类事物的共同特征的集合
对象是类的具象,是一个实体
问题规模大,复杂系统
以数据为中心,指令服务于数据
java,C#,python,golang等
编程语言
人与计算机之间交互的语言。分为两种:低级语言和高级语言
编译型语言开发效率低,执行效率高
高级语言-->编译器-->机器代码文件-->执行,如:C,C++
解释型语言开发效率高,执行效率低
高级语言-->执行-->解释器-->机器代码,如:shell,python,php,JavaScript,perl
编程执行逻辑
顺序结构流程
分支结构流程
循环接口流程
编程基本用法
Shell脚本用途
将简单的命令组合完成复杂的工作,自动化执行命令,提高工作效率
减少手工命令的重复输入,一定程度上避免人为错误
将软件或应用的安装及配置实现标准化
用于实现日常性的,重复性的运维工作,如:文件打包压缩备份,监控系统运行状态并实现告警等
编程语言的基本结构
各种系统命令的组合
数据存储:变量、数组
表达式:a + b
控制语句:if
格式要求:首行shebang机制
#!/bin/bash
#!/usr/bin/python
#!/usr/bin/perl
shell脚本创建过程
第一步:使用文本编辑器来创建文本文件
第一行必须包括shell声明序列:#!
示例:
#!/bin/bash
第二步:加执行权限
给予执行权限,在命令行上指定脚本的绝对或相对路径
第三步:运行脚本
直接运行解释器,将脚本作为解释器程序的参数运行
shell 脚本调试
只检测脚本中的语法错误,但无法检查出命令错误,但不真正执行脚本
bash -n /path/to/some_script
调试并执行
bash -x /path/to/some_scrip
总结:脚本错误常见的有三种
语法错误,会导致后续的命令不继续执行,可以用bash -n 检查错误,提示的出错行数不一定是准确的
命令错误,默认后续的命令还会继续执行,用bash -n 无法检查出来 ,可以使用 bash -x 进行观察
逻辑错误:只能使用 bash -x 进行观察