Linux之流程判断

流程控制#

语法格式#

Copy
if 条件 then 执行动作 else 执行动作 fi

案例#

Copy
[root@SR ~]# vim if_test.sh #!/bin/bash if ls /root &> /dev/null! then echo "hello world" else echo "error" fi

test测试命令#

作用#

用于检测某个条件是否成立 可以进行数值 字符 文件三个方面的测试

数值比较#

-eq#

等于为真

Copy
[root@SR ~]# [ 2 -eq 2 ] && echo "等于" || echo "不等于"

-ne#

不等于为真

Copy
[root@SR ~]# [ 2 -ne 1 ] || echo "等于" && echo "不等于"

-gt#

大于为真

Copy
[root@SR ~]# [ 2 -gt 1 ] && echo "大于" || echo "不大于"

-lt#

小于为真

Copy
[root@SR ~]# [ 1 -lt 2 ] && echo "小于" || echo "大于"

-ge#

大于等于为真

Copy
[root@SR ~]# [ 2 -ge 1 ] && echo "大于" || echo "不大于"

-le#

小于等于为真

Copy
[root@SR ~]# [ 2 -le 3 ] && echo "小于" || echo "不大于"

字符串比较#

==#

Copy
[root@SR ~]# vim test.sh #!/bin/bash read -p "请输入用户名>>:" username if [ $username == "root" ] then echo "超级管理员" else echo "普通用户" fi

-z#

Copy
[root@SR ~]# vim test.sh #!/bin/bash x="" if [ $x==0 ] then echo "为真" else echo "为假" fi

字符串比较#

字符串比较根据ascii表进行比较

Copy
[root@SR ~]# vim test1.sh #!/bin/bash var1=test var2=Test if [ $var1 \> $var2 ] then echo "$var1 > $var2" else echo "$var1 < $var2" fi

文件比较#

-e#

Copy
[root@SR ~]# [ -e /etc/passwd ] && echo "普通文件" || "不是文件"

-f#

Copy
[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
posted @   SR丶  阅读(133)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示
CONTENTS