前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Shell编程-逻辑判断

Shell编程-逻辑判断

作者头像
运维小路
发布2024-11-01 19:46:49
520
发布2024-11-01 19:46:49
举报
文章被收录于专栏:运维小路

作者介绍:简历上没有一个精通的运维工程师。请点击上方的蓝色《运维小路》关注我,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。

我们前面学习了那么多命令,以及涉及到部分逻辑判断的问题。从简单来说,他就是Shell编程,只有由于命令比较单一,只能实现比较简单的功能。如果我们把多个操作都放到一起去,并添加更复杂的逻辑在里面,他就是Shell编程。所以我们主要从以下几个方面讲解Shell编程:

Shell编程-什么是shell

Shell编程-变量

Shell编程-数据类型

Shell编程-逻辑判断(本章节)

Shell编程-if判断

Shell编程-if和else

Shell编程-while循环

Shell编程-for循环

Shell编程-case

Shell编程-break

Shell编程-continue

Shell编程--函数

Shell编程-案例(一)

Shell编程-案例(二)

Shell编程-小结

其实这里用逻辑判断是不严谨的,因为真实的判断有很多分类的。另外就是我们定义了不同的变量,那怎么对这些不同变量进行比对呢,其实主要包括的就是下面几种判断。

数值比较

代码语言:javascript
复制
if [ "$num1" -eq "$num2" ]; then
    echo "Numbers are equal."
fi
  • -eq:等于
  • -ne:不等于
  • -gt:大于
  • -ge:大于等于
  • -lt:小于
  • -le:小于等于

字符串比较

代码语言:javascript
复制
if [ "$str1" = "$str2" ]; then
    echo "Strings are equal."
fi
  • =:等于(注意:在 [] 中使用时,需要用双引号括起来)
  • !=:不等于

文件测试比对:

代码语言:javascript
复制
if [ -f "$file" ]; then
    echo "$file is a regular file."
fi
  • -f:判断文件是否存在且是普通文件
  • -d:判断文件是否存在且是目录
  • -e:判断文件是否存在(通用的存在性测试)
  • -s:判断文件是否存在且非空
  • -r:判断文件是否存在且可读
  • -w:判断文件是否存在且可写
  • -x:判断文件是否存在且可执行

逻辑运算

代码语言:javascript
复制
if [ "$var1" = "value1" ] && [ "$var2" -gt 10 ]; then
    echo "Both conditions are true."
fi
  • &&:逻辑与,用于同时满足两个条件
  • ||:逻辑或,用于满足任意一个条件
  • !:逻辑非,用于取反

字符串长度比较

代码语言:javascript
复制
if [ -z "$str" ]; then
    echo "String is empty."
fi
  • -z:判断字符串是否为空(长度为0)
  • -n:判断字符串是否非空(长度不为0)

文件比较

  • -nt:判断文件是否比另一个文件新(newer than)
  • -ot:判断文件是否比另一个文件旧(older than)

总结

  1. 同类型的数据类型才能进行比对
  2. 这里都只是判断,下一小节将针对判断结果进行下一步的操作。
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-09-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 运维小路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档