Linux之流程判断
流程控制#
语法格式#
if 条件
then
执行动作
else
执行动作
fi
案例#
[root@SR ~]# vim if_test.sh
#!/bin/bash
if ls /root &> /dev/null!
then
echo "hello world"
else
echo "error"
fi
test测试命令#
作用#
用于检测某个条件是否成立 可以进行数值 字符 文件三个方面的测试
数值比较#
-eq#
等于为真
[root@SR ~]# [ 2 -eq 2 ] && echo "等于" || echo "不等于"
-ne#
不等于为真
[root@SR ~]# [ 2 -ne 1 ] || echo "等于" && echo "不等于"
-gt#
大于为真
[root@SR ~]# [ 2 -gt 1 ] && echo "大于" || echo "不大于"
-lt#
小于为真
[root@SR ~]# [ 1 -lt 2 ] && echo "小于" || echo "大于"
-ge#
大于等于为真
[root@SR ~]# [ 2 -ge 1 ] && echo "大于" || echo "不大于"
-le#
小于等于为真
[root@SR ~]# [ 2 -le 3 ] && echo "小于" || echo "不大于"
字符串比较#
==#
[root@SR ~]# vim test.sh
#!/bin/bash
read -p "请输入用户名>>:" username
if [ $username == "root" ]
then
echo "超级管理员"
else
echo "普通用户"
fi
-z#
[root@SR ~]# vim test.sh
#!/bin/bash
x=""
if [ $x==0 ]
then
echo "为真"
else
echo "为假"
fi
字符串比较#
字符串比较根据ascii表进行比较
[root@SR ~]# vim test1.sh
#!/bin/bash
var1=test
var2=Test
if [ $var1 \> $var2 ]
then
echo "$var1 > $var2"
else
echo "$var1 < $var2"
fi
文件比较#
-e#
[root@SR ~]# [ -e /etc/passwd ] && echo "普通文件" || "不是文件"
-f#
[root@SR ~]# vim cleanlog.sh
#!/bin/bash
if [ $USER != "root" ]
then
echo "权限不足"
exit 10
fi
if [ ! -f /var/log/messages ]
then
echo "文件不存在"
exit 20
fi
tail -1000 /var/log/messages > /root/temp.logs
mv /root/temp.logs /var/log/messages
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!