目录
1.shell脚本的相关知识
1.1shell的作用
shell提供了用户和内核进行交互操作的一种接口,简单来说就是shell把人类的高级语言翻译成二进制语言,让计算机明白你的指令
1.2常见的shell解释器
1.3shell脚本用途
将简单的命令组合完成复杂的工作,自动化执行命令,提高工作效率
减少手工命令的重复输入,一定程度上避免人为错误
将软件或应用的安装及配置实现标准化
用于实现日常性的、重要性的运维工作
2.shell脚本的编写规范和执行方法
2.1shell脚本的组成
1、声明解释器
#代表接下来使用什么解释器来解释接下来的命令
2、注释信息
3、执行命令
举例:编写一个yum的shell程序
bash执行
2.2shell脚本的执行方法
1、直接调用shell解释器 加上脚本的名字 bash 脚本名 不需要加上权限
2、路径/脚本 路径:绝对相对 但是这个需要权限
chmod +x hi.sh //为文件增加执行权限
./hi.sh //相对路径方式进行执行
/opt/hi.sh //绝对路径方式进行执行
3、source(.) 加脚本名字 不建议使用 不需要权限 会修改目前的环境内容,会有一些问题
2.3shell脚本错误
1、命令错误 不会影响接下来的命令执行,但是本条命令不执行
bash -x 脚本 模拟执行后 发现错误
2、语法错误 直接影响脚本无法正常运行
bash -n 脚本 检查语法错误
3、逻辑错误
2.4shell脚本的安全选项
set -e 出错就停止
set -u 变量不存在就停止
3.重定向和管道符
重定向:改变电脑数据的输出方向,默认电脑数据的输出方向是屏幕
标准输出:发了一条指令给电脑操作,电脑会回复给你,结果是一定显示在屏幕上
标准输入:我们通过键盘、鼠标、扫描仪、话筒等设备输入给电脑的指令
管道符|:将第一个命令的结果当作后一个命令的处理对象
3.1重定向操作的符号用法
类型 | 操作符 | 用途 |
重定向输入 | < | 从指定的文件中读取数据,不是从键盘输入读取 |
重定向输出 | > | 将输出的结果保存在指定的文件中(覆盖源文件) |
>> | 将输出的结果追加在指定文件的末尾 | |
重定向错误输出 | 2> | 将错误信息保存在指定的文件(覆盖原文件内容) |
2>> | 将错误信息追加在指定文件的末尾 | |
混合输出 | &> | 将标准输出和标准错误信息都保存在同一个文件中 |
4.变量
4.1变量的格式
1、设置变量
变量名=变量值 两边没有空格
2、调用变量
echo $变量名
3、删除变量
unset 变量名
4、重新定义变量
变量名=变量值
5、追加变量值
变量名+=变量值
4.2变量的类型
1、自定义的变量
2、预定义的变量 $? $$ $* $@ shell中带的
$? 代表上一次命令执行结果是否正确 0代表正确 非0代表不正确
$0 代表脚本的文件名字
$$ 当前bash的pid
$# 代表位置参数的总个数
$* 代表返回所有参数 所有参数当成一个整体返回
$@ 代表返回所有参数 每个参数都是一个独立的个体返回
3、环境变量 env 看到所有环境的变量
4、只读变量 只可以读不可以改
5、位置变量 $1 $2 …… $n
4.3特殊符号
${}定义的变量名的范围${}一定不会错
““变量在双引号中可以识别 弱引用
‘’变量在单引号中不被识别 强引用
``反撇号代表引用命令执行的结果 效果等于$()
5.整数的运算
5.1expr的运用
格式:expr 数值1 运算符 数值2 [运算符 数值3]...
运算符:+(加) - (减) \ * (乘 以) /(除于) %( 取余 (取模))