shell中if判断语句
Posted yieli
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell中if判断语句相关的知识,希望对你有一定的参考价值。
if 条件测试类型: 文件测试, 数字测试, 字符串测试
if 语句结构:
-
if ... ; then ....; fi
-
if ... ; then ... ; else ... ; fi
条件测试表达式:
- [ 表达式 ]
- [[ 表达式 ]]
- test 表达式
数字测试: Note
- 只能进行整数测试
- if test 3 -eq $V2 等价于 if [ 3 -eq $V2 ]
【 3 -eq $V2 】等于
【 3 -ne $V2 】不等
【 3 -lt $V2 】小于
-le 小于等于 -gt 大于 -ge 大于等于
字符串测试:Note
- 当要进行小数比较时,不能使用数字测试的方法,使用字符串测试
- shell中的字符串比较只有=,没有==
- 字符串测试时做最好使用“”将字符串引起来
[[ $V = 4* ]] 模式匹配 若$V以4开头为true
[[ $V = "4*" ]] 字符匹配 若$V等于4* 为true
[ -z "$V" ] -z表示字符串为空
[ -n "$V" ] -n表示字符串不为空
文件测试:
-e FILE 测试文件是否存在
-f FILE 测试文件是否为普通文件
-d FILE 测试指定路径是否为目录
。。。
写case遇到的好的解决方法:
- 判断nfs版本
for V in ...
lockp=lockd
[[ $V = 4* ]] && lockp=nfsd
ssh $SERVER $lsLocks | grep $lockp
done
1.将锁封装起来,后面使用ssh执行命令 2.使用简化的if判断
- 判断kernel版本
以上是关于shell中if判断语句的主要内容,如果未能解决你的问题,请参考以下文章
Linux | shell脚本-条件判断if和循环语句for
Shell编程中 if语句判断时怎样写判断条件判断变量a若为整型变量则执行后面的语句