- 注意
表达式 [] 中变量需要用双引号”“引用, 否则某些情况会导致判断结果有误, [[]] 中可用可不用
- == (等于) 和 != (不等于)
v1='A'
v2='B'
v3='A'
[[ $v1 == $v2 ]] && echo 'true' || echo 'false'
[[ $v1 == $v3 ]] && echo 'true' || echo 'false'
[[ $v1 != $v2 ]] && echo 'true' || echo 'false'
[[ $v1 != $v3 ]] && echo 'true' || echo 'false'
# false
# true
# true
# false
- =~ 判断字符串是否被包含(区分大小写)
v='Hello World'
[[ $v =~ 'hello' ]] && echo 'Y' || echo 'N'
[[ $v =~ 'Hello' ]] && echo 'Y' || echo 'N'
[[ $v =~ 'World' ]] && echo 'Y' || echo 'N'
[[ $v =~ 'test' ]] && echo 'Y' || echo 'N'
# N
# Y
# Y
# N
- -n 判断字符串长度不为0
v1='123456'
v2=''
[[ -n $v1 ]] && echo 'not empty' || echo 'empty'
[[ -n $v2 ]] && echo 'not empty' || echo 'empty'
[ -n "$v1" ] && echo 'not empty' || echo 'empty'
[ -n "$v2" ] && echo 'not empty' || echo 'empty'
# not empty
# empty
# not empty
# empty
- -z判断字符串长度为0
v1='123456'
v2=''
[[ -z $v1 ]] && echo 'empty' || echo 'not empty'
[[ -z $v2 ]] && echo 'empty' || echo 'not empty'
[ -z "$v1" ] && echo 'empty' || echo 'not empty'
[ -z "$v2" ] && echo 'empty' || echo 'not empty'
# not empty
# empty
# not empty
# empty
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Blazor Hybrid适配到HarmonyOS系统
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· 解决跨域问题的这6种方案,真香!
· 一套基于 Material Design 规范实现的 Blazor 和 Razor 通用组件库
· 分享4款.NET开源、免费、实用的商城系统