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