一、编程介绍
驱动 硬件默认是不能使用的
CPU控制硬件、不一样的厂家硬件设备之间须要进行指令沟通,咱们须要驱动程序来进行“翻译”;
更趋近与开发的工程师,要学习“汇编语言”;而“汇编语言”被厂商所限制;
C C++的底层就是汇编语言
如今编程:
基于高级语言,以及超高级语言,更好的让程序员可以的实现编程功能
编程语言的分类:
高级语言
超高级语言须要翻译成计算机可读的语言(二进制指令)
解释型--逐行翻译执行,shell python java
bash -x filename.sh
编译型---一次编译,所有执行C语言 C++ C# java
程序=指令+数据
面向对象---侧重数据的编程语言
面向过程---侧重于指令
编程语言的执行方式:
一、顺序执行
二、循环执行for(遍历) while(循环条件) until(while相反)
三、选择执行---分支 if casejava
二、shell脚本语言介绍
优势:调用os(操做系统)的命令行,来实现全部功能。
缺点:没有库调用(对比Python)
shell脚本包括:1.命令 2.变量(全局变量、局部变量、本地变量、传参)3.逻辑关系
·shell的第一句话
#!/bin/bash -- 定义脚本解释器
/etc/shells -- 查看当前会话系统支持的shell程序
echo $SHELL -- 查看当前会话的shell程序
/etc/passwd -- 制定了用户默认支持的shell程序(/sbin/nologin)python
shell的执行:
一、bash命令来执行脚本
-n 查看shell脚本的逻辑错误
-x 逐行显示执行的脚本程序
二、受权 chmod + x filename.sh
使用全路径执行脚本程序员
三、变量
环境变量
局部变量 declare:定义变量类型
本地变量 local 在函数中使用
变量类型:
数值型:
1.整型 int
2.浮点型 float
3.布尔值 0 1 (真Ture 假False)
字符串:
1.普通字符及字符串
2.数组
编程语言的分类:
强类型语言--数值必须被定义,才能被处理或运算
弱类型语言--编程语言能够自动识别变量类型
(多态 一个数据具备多个属性,而最后使用的属性取决于他进行运算的数据)
传参
$? --上一条命令的执行状态 0 正确 1-255 错误
$1 $2..${10} --命令后面闯入脚本的数据,以空格为分隔符
$# --统计传参的数量
$* --表示全部传参,全部的传参以字符串形式进行传输出
$@ --表示全部传参,将全部的传参以列表的形式进行输出shell
定义变量的格式:
NAME=value =赋值 ==判断
declare 定义参数类型
declare -i 整数
declare -a 数组
变量命名:
1.下划线的方式指定变量名称
2.驼峰命名方式
四、test文件测试、条件判断
在脚本中,咱们须要进行语句分支,须要进行test判断实现
使用格式:
1.test[option]file
2.[ 条件语句 ] !条件语句先后有空格
常见的test选项:
比较选项:
-eq =
-ne
-gt >
-ge >=
-lt <
-le <=
判断选项:
-f 判断是否为普通文件
-d 判断是否为目录文件
-L 判断是否为链接文件
-r -w -x 判断文件是否具备 读 写 执行 权限
关联选项:
-o 或
-a 与
! 非
字符判断:
= 判断字符串是否相同
!= 不等于
-z 判断字符串是否存在
-n 和-z相反 编程
五、逻辑运算
与 -- && 两边命令都为真,结果为真
或 -- || 俩边命令一边为真。结果为真,同时为假,结果为假
非 -- !=
这个逻辑运算符,先后对接的都是单独存在的命令
[$? -eq 0] && exit 0 || exit 1数组
六、算数运算
let 1+1 bash
let a =1+1编程语言
echo $a函数
expr 1+1学习
let a =1+1
echo $a
$[$1+10]
a=$[2+3]
echo $a
$(($1/$2))
a=$((3/2))
echo $a