第五课学习笔记
1、Vim文本编辑器
vim三种模式:
1)命令模式:文件操作
2)编辑模式:编辑文本
3)末行模式:用于保存退出文本(wq:保存并退出,q:不保存并退出,wq!:强制保存并退出)
shell脚本
Shell脚本的工作方式:
1、交换模式(Interactive):用户每输入一条命令就立即执行。
2、批处理模式(Batch):由用户事先编写好一个完整的Shell脚本,Shell将一次性执行完脚本中的全部命令。
shell组成部分
1)脚本声明————#!/bin/bash
2)脚本注释————#该脚本的功能说明
3)脚本命令————#Shell脚本功能实现的命令行语句
Shell脚本参数说明
符号 | 功能说明 |
---|---|
$0 | Shell脚本命令 |
$1 | Shell脚本第1个位置的参数 |
$2 | Shell脚本第2个位置的参数 |
$3 | Shell脚本第3个位置的参数 |
$n | Shell脚本第n个位置的参数 |
Shell条件判断
根据判断对象,条件判断语句可分为4种类型:
1、文件判断语句
2、逻辑判断语句
3、整数判断语句
4、字符串比较语句
文件判断常用的参数
操作符 | 作用 |
---|---|
-d | 测试文件是否为目录类型 |
-e | 测试文件是否存在 |
-f | 判断是否为一般文件 |
-r | 测试当前用户是否有权限读取 |
-w | 测试当前用户是否有权限写入 |
-x | 测试当前用户是否有权限执行 |
逻辑判断常用参数
符号 | 功能说明 |
---|---|
&& | 如果前面的命令执行成功,则继执行后面的语句 |
|| | 如果前面的命令执行失败,则执行后面的语句 |
! | 取命令结果的反值 |
整数判断语句比较运算符
操作符 | 作用 |
---|---|
-eq | 等于 |
-ne | 不等于 |
-gt | 大于 |
-lt | 小于 |
-le | 等于或小于 |
-ge | 大于或等于 |
常用字符串比较运算符
操作符 | 作用 |
---|---|
= | 比较字符串内容是否相同 |
!= | 比较字符串内容是否不同 |
-z | 判断字符串内容是否为空 |
PS:定义变量可通过[ -z 变量名]判断该变量是否为空,0表示没有,1表示已存在,如下:
[root@localhost ~]# [ -z $PRICE ]
[root@localhost ~]# echo $?
1
[root@localhost ~]# echo $PRICE
5
if条件判断语句
if条件判断语句的分支结构分为:单分支结构、双分结构、多分支结构
单分支:
if [判断条件]
then 命令语句
fi——结束符
Shell示例:
#!/bin/bash
#检测系统内存使用
CheckMem=`free -m |grep Mem | awk '{print $4}'`
if [ $CheckMem -lt 215 ]
then
echo "Warning!!!当前系统使用使用过高,可用内存:$CheckMem MB"
fi
双分支:
if [判断条件]
then 命令语句
else 命令语句
fi———结束符
脚本示例
#!/bin/bash
#通过ping命令查询主机是否在线
read -p "请输入主机IP地址(格式:10.0.0.1): " IP
ping -c 3 -i 0.2 $IP &> /dev/null
if [ $? -eq 0 ]
then echo "你查询的主机$IP在线状态。"
else
echo "你查询的主机$IP不在线。”
fi
多分支:
if 判断条件1
then 命令语句1
elif 判断条件2
then 命令语句2
…
else 命令语句3
fi
Shell示例:
#!/bin/bash
#根据考试分数分级
read -p "请输入考试分数: " RESULTS
if [ $RESULTS -ge 85 ] && [ $RESULTS -le 100 ]
then
echo "优秀"
elif [ $RESULTS -ge 75 ] && [ $RESULTS -le 84 ]
then
echo "良好"
elif [ $RESULTS -ge 60 ] && [ $RESULTS -le 74 ]
then echo "及格"
else echo "不合格"
fi