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