shell中if判断语句

Posted yieli

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell中if判断语句相关的知识,希望对你有一定的参考价值。

if 条件测试类型: 文件测试, 数字测试, 字符串测试

if 语句结构:

  • if  ... ; then ....; fi
  • if ... ; then ... ; else ... ; fi

条件测试表达式:

  •  [ 表达式 ]
  •  [[ 表达式 ]]
  •  test 表达式

数字测试: Note

  1. 只能进行整数测试
  2. if test 3 -eq $V2   等价于  if [ 3 -eq $V2 ]

【 3  -eq  $V2 】等于

【 3  -ne  $V2 】不等

【 3  -lt   $V2 】小于

-le 小于等于   -gt 大于   -ge 大于等于

字符串测试:Note 

  1. 当要进行小数比较时,不能使用数字测试的方法,使用字符串测试
  2. shell中的字符串比较只有=,没有==
  3. 字符串测试时做最好使用“”将字符串引起来

[[ $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若为整型变量则执行后面的语句

liunx 下的shell语句 if [ ! -d /$1/$2/$3/ ]是啥意思?

shellLinux shell if 语句详解

Shell中的if和case判断语句

Shell中的if和case判断语句