配置shell脚本
- 简单配置
1) 查看支持的所有shell脚本类型
2) 创建一个简单的脚本
3) 执行的三种方法 . sh source (.需要授予执行权限)
- 配置重定向和管道符
1) 三种重定向
标准输出编号0
标准输入编号1
标准错误编号2
例:>添加或覆盖和>>追加
2>错误保存位置
混合性保存符号&>(将错误的和正确的信息保存到一个文件中)
2) 管道符
将前一个命令的执行结果交给管道符后面的命令处理
- 使用shell变量
1) 自定义变量
创建变量
变量名=变量值
调用变量(多个后面加$变量名)
echo 变 量 名 ( 变量名( 变量名(变量名)
变量赋值的常用符号
“” 引用其他变量
‘’ 禁止引用其他变量
`` 引用变量执行的结果
read:接受用户输入的内容赋值给特定的变量名
全局变量 在不同的shell环境中都可以调用
export 全局配置
- 数值变量运算使用
1)定义变量
2) 运用数值变量
*乘 /除 +加 -减 %求摸 (相除的余数)
将结果赋值给变量
- 环境变量的使用
1) 常见的系统变量
查看系统的环境变量
查看PWD当前所在目录位置,USER当前登录的用户,PATH系统命令执行的常见目录
SHELL系统默认使用的shell,HOME查看用户的宿主目录
- 位置变量的使用
1) 创建位置变量的脚本
[root@centos01 ~]# vim usr.sh
#!/bin/bash
SUM=expr $1 + $2 + $3
echo “$1 + $2 + $3 = $SUM”
应用位置变量
- 配置计划任务备份
创建数据库
授权
测试
编译MySQL备份脚本
创建一个目录
创建一个脚本文件并配置
Bug密码删了手输密码
添加权限手动执行
确认备份结果
设置计划任务
将脚本也转移到备份目录中
在指定时间执行脚本程序
确保crond服务已运行
- 条件测试
结构分为
test
test -d /etc
[ ]
[ -d etc ]
判断真假
常见选项
-d :判断是否为目录
-f :判断是否是文件
-e :测试目录或者文件是否存在
-r :测试用户对文件或者目绿是否有读取权限
-w :测试用户对文件或者目录有写入权限
-x :测试用户对文件目录是否有执行权限
1)测试/etc是否为目录
0正确,非零错误
2)直接显示结果测试正确显示True反之不显示
- 整数值的比较
整数值比较常见的选项
-eq :等于
-ne :不等于
-gt:大于
-It :小于
-le :小于等于:
-ge :大于等于
1)判断10是否大于5 ,条件判断成功显示True反之不显示
2)判断系统账户个数小于等于2显示“”中的文字
10. 字符串的比较
字符串比较常见的选项
=:第一个条件和第二个条件是否相同
!= :第一个条件不等于第二个条件
-Z:判断字符内容是否为空
1)判断系统的字符编码是否支持中文显示“”中的文字支持反之不支持
2)判断系统是英文或者中文
11. 逻辑测试
逻辑测试常见的选项
-a :或者使用&& ,两个条件为真显示结果 逻辑与
-o :或者使用||,两个条件匹配任意一个为真 显示结果 逻辑或
!:逻辑否,不匹配结果
1)使用&&测试,两个结果为都为真显yes
2)使用||测试,两个结果任意一个为真即可显示yes
If的应用
12. 单分支
单分支if判断格式
if 条件
then
命令序列
fi
1)判断是否一个目录存在,如果不存在自动创建目录
13. 双分支
if 条件
then
命令序1
else
命令序列2
fi
1) 测试目标主机连通性脚本
创建脚本
通显示UP不同显示DOWN
3.多分支
格式
if 条件
then
命令序列1
elif 条件
then
命令序列2
else
命令序列3
fi
创建多分支脚
配置执行权限并执行输入测试的分数