编程原理:
1、编程介绍
早期编程:
驱动 硬件默认是不能使用的;
不同的厂家硬件设备之间需要进行指令沟通,我们需要驱动程序来进行“翻译”。
更趋近于硬件开发的工程师,要学习“汇编语言”;而“汇编语言”被厂家所限制;C C++的底层就是汇编语言。
现在编程:
基于高级语言,以及超高级语言,更好的让程序员能够实现编程功能。
编程语言的分类:
高级语言、超高级语言需要翻译计算机可读的语言(二进制指令)
解释型 -- 逐行翻译,逐行执行 shell python
bash -x filename.sh
编译型 -- 一次编译,全部执行 C语言 C++ C# Java
程序 = 指令 + 数据
面向对象 -- 侧重于数据的编程语言
面向过程 -- 侧重于指令的编程语言
编程语言的执行方式:
【一行一行】
1、顺序执行
循环执行-- for(遍历) while(循环条件) until(和while相反)
选择执行--分支 if case
2、shell脚本语言介绍
优点:调用os(操作系统)的命令行,来实现所有功能
缺点:没有库调用(区分python)
脚本包括:1、命令 2、变量(全局变量、局部变量、本地变量、传参)
的第一句话!!!
定义脚本解释器(普遍认为#为注释行,这里特殊)shebang
#!/usr/bin/python
查看当前系统支持的shell程序
查看当前会话shell程序
制定了用户默认支持的shell程序(/sbin/nologin)
的执行:
、bash命令来执行脚本
查看shell脚本的逻辑错误(注意:单词写错可不管)
逐行显示执行的脚本程序(方便排错)
、授权chmod u+x filename.sh
使用全路径执行脚本,即可
3、变量
环境变量
局部变量 declare命令 -- 定义变量类型
本地变量 local在函数中使用
变量类型:
数值型:
整形
浮点型
布尔值 0 1(真 假)(true false)
字符串:
1、普通字符及字符串
2、数组
编程语言的分类:
强类型语言 -- 数值必须被定义,才能进行处理或运算
弱类型原因 -- 编程语言可以自动识别变量类型
【多态 一个数据具有多个属性,而最后使用的属性取决于和它进行运算的数据】
传参
$?
命令后面传入脚本的数据,以空格为分隔符
统计传参数量 ${$#}
表示所有的传参,所有的传参以字符串形式进行输出
表示所有传参,将所有的传参以列表的形式进行输出
【工作中要对所有的传参进行操作的时候,就要考虑$*和$@】
定义变量格式:
NAME=VALUE
通过命令declare定义变量类型
整数 int() str()
数组
变量命令:
1、下划线的方式指定变量名称
2、驼峰命名方式
4、test文件测试、条件判断
在脚本中,我们需要进行语句分支;(做判断)
判断就是使用test命令来实现;
使用格式:
1、test [option] file
条件语句]
【什么时候加[ ];什么时候不加[ ]】
常见的test选项:
比较选项:
等于
不等于
大于
大于等于
小于
小于等于
判断选项:
判断是否为普通文件
判断是否为目录文件
判断
-r -w -x
关联选项:
或
与
非
5、逻辑运算
与 && :两边的命令,都为真,结果才是真
或 || :两边的命令,一边为真,就是真,同时为假,才是假
非 !=
6、算术运算
let 1+1
expr 1*1
$[$1+10]
$(($1/$2))
+ - * / % **