Shell脚本文件检测实例讲解
1. echo $? 语句的作用
- 用来判断上一条命令执行命令是否成功,0为成功,1为失败
- 检测文件测试命令是否正确,如文件是否存在,0为存在,1为不存在
2. 检测文件是否存在,0为存在,其他为不存在
3. 常用的文件检测符号
- 格式: [ 操作符 文件或目录 ]
- -d: 测试是否为目录(Directory)
- -e: 测试目录或文件是否存在(Exist)
- -f: 测试是否为文件(File)
- -r: 测试当前用户是否有权限读取(Read)
- -w: 测试当前用户是否有权限写入(Write)
- -x: 测试当前用户是否有权限执行(Excute)
- -L: 测试是否为符号连接文件(Link)
4. shell检测文件是否存在,不存在就创建文件
#!/bin/bash
if [ -f ./file1 ]
then
echo "file1 is exists!"
else
echo "file1 is not exists!"
touch file1
fi
5 shell 检测文件光盘是否被挂载
#!/bin/bash
if [ -e /media/CentOS ]
then
echo "光盘已经被挂载"
else
echo "光盘没有被挂载"
mount /dev/cdrom /media &>/dev/null #没有就挂载上,同时屏蔽提示消息
fi
6. 常用的整数之间的比较符号
- 格式:[ 整数1 操作符 整数2 ]
- -eq: 等于(Equal)
- -ne: 不等于(Not Equal)
- -gt: 大于(Greater Than)
- -lt: 小于(Lesser Than)
- -le: 小于或者等于(Lesser Or Equal)
- -ge: 大于或者等于 (Greater Or Equal)
7. 整数比较实例
#!/bin/bash
age=30
if [ $age -ge 18 ]
then
echo "已经成年"
else
echo "还没有成年"
fi
8. 命令查看当前系统有多少个人登陆
- who命令查看当前登陆系统的终端数
- who | wc -l 统计输出的行数
9. 检测当前系统的磁盘占有率
#!/bin/bash
usespace=`df -Th | grep 'vda' | awk '{print $6}' | cut -d '%' -f1` #`表示运行命令取返回值`
if [ $usespace -ge 43 ]
then
echo "磁盘占有率超过阈值" | mail -s '磁盘报警' root@localhost
else
echo "磁盘状态正常"
fi
10. 常用的字符串之间的比较符
- = :相等的比较符号
- != :不相等的比较符号
- -z :为空的字符串比较符号
11. 字符串之间的比较实例
#!/bin/bash
read -p "请输入你的账号:" name
read -p "请输入你的密码:" pass
if [ $name = 'admin' ] && [ $pass = '123456' ]
then
echo "验证通过"
else
echo "用户名或者密码错误"
fi
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」