shell_条件判断_逻辑判断符号
逻辑判断符号
&& -a 与运算,两边都为真的适合,结果为真
|| -o 或运算,两边有一个为真,结果就为真
- 语法
在[]和test中使用的操作符 | 在[[]]和(())中使用的操作符 | 说明 |
---|---|---|
-a | && | and ,与,两端为真,则结果为真 |
-o | || | or ,或,两端一个为真 则结果为真 |
! | ! | not ,非,两端相反,则结果为真 |
-
应用实例
[root@localhost ~]# ###在[]中使用 [root@localhost ~]# [ 2 -gt 1 && 2 -eq 2 ] && echo ok || echo no #####中括号中不能使用&& bash: [: 缺少 `]' no [root@localhost ~]# [ 2 -gt 1 -a 2 -eq 2 ] && echo ok || echo no ###与条件 ok [root@localhost ~]# [ 2 -gt 1 ]&& [ 2 -eq 2 ] && echo ok || echo no ###与条件 ok [root@localhost ~]# [ 2 -gt 3 ]&& [ 2 -eq 2 ] && echo ok || echo no ###与条件 no [root@localhost ~]# [ 2 -gt 3 -a 2 -eq 2 ] && echo ok || echo no ###与条件 no [root@localhost ~]# [ 2 -gt 3 -o 2 -eq 2 ] && echo ok || echo no ###或条件 ok [root@localhost ~]# [ 2 -gt 3 ]|| [ 2 -eq 2 ] && echo ok || echo no ###或条件 ok [root@localhost ~]# [ ! 2 -gt 3 ] && echo ok || echo no ###取反 ok [root@localhost ~]# [ ! 2 -gt 1 ] && echo ok || echo no no [root@localhost ~]# #############################################在双中括号中使用 [root@localhost ~]# [[ 2 -gt 3 -o 2 -eq 2 ]] && echo ok || echo no ####就不能使用之前的-a这类操作符了 bash: 条件表达式中有语法错误 bash: `-o' 附近有语法错误 [root@localhost ~]# [[ 2 -gt 3 && 2 -eq 2 ]] && echo ok || echo no no [root@localhost ~]# [[ 2 -gt 3 || 2 -eq 2 ]] && echo ok || echo no ok [root@localhost ~]# [root@localhost ~]# [[ 2 -gt 3 || ! 2 -eq 2 ]] && echo ok || echo no ###!加个取反 no [root@localhost ~]#
分类:
shell实战1
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!