shell脚本常用if判断语句以及条件

if判断中常使用的shell选项
选项    含义
-eq    //等于    equal
-ne    //不等于  not equal
-gt    //大于    greater than
-lt    //小于    less than 
-ge    //大于等于  greater equal
-le    //小于等于    less equal
-z    判断变量是否存在值  //-z 在if里的意思是 空    zero
-d    判断该选项后的参数是否为目录    directory
-f    判断该选项后指定的参数是否为文件    file
-L    判断指定的是否为符号链接    link
-r    判断指定的是否可读    read
-s    判断存在的对象长度是否为0    size
-w    判断指定的是否可写    write
-x    判断存在的对象是否可以执行    execute
-!   测试条件的否定符号
if [ -n "$str1" ]        当串的长度大于0时为真(串非空) ,使用-n判断变量一定要带上双引号""
if [ -z "$str1" ]       当串的长度为0时为真(空串)  
if [ "$str1" ]         当串str1为非空时为真
文件表达式
if [ -f  file ]    如果文件存在
if [ -d ...   ]    如果目录存在
if [ -s file  ]    如果文件存在且非空 
if [ -r file  ]    如果文件存在且可读
if [ -w file  ]    如果文件存在且可写
if [ -x file  ]    如果文件存在且可执行   

整数变量表达式
if [ int1 -eq int2 ]    如果int1等于int2   
if [ int1 -ne int2 ]    如果不等于    
if [ int1 -ge int2 ]       如果>=
if [ int1 -gt int2 ]       如果>
if [ int1 -le int2 ]       如果<=
if [ int1 -lt int2 ]       如果<
   
字符串变量表达式
If  [ $a = $b ]                 如果string1等于string2,字符串允许使用赋值号做等号
if  [ $string1 !=  $string2 ]   如果string1不等于string2       
if  [ -n "$str"  ]             如果str 非空(非0),返回0(true)  
if  [ -z $str  ]             如果str 为空
if  [ $str ]                  如果str 非空,返回0 (和-n类似)  
posted @ 2022-12-31 15:32  yongfengnice  阅读(1085)  评论(0编辑  收藏  举报