shell 条件判断

来源:互联网 发布:网络棋牌游戏能作弊吗 编辑:程序博客网 时间:2024/06/06 10:44

字符串比较

结果

string1 = string2

如果两个字符串相同则结果为真

string1 != string2

如果两个字符串不同则结果为真

-n string                                                

如果字符串不为空则结果为真                                                                                                               

-z string

如果字符串为空(一个空串)则结果为真

 

算术比较

结果

expression1 –eq expression2

如果两个表达式相等则结果为真

expression1 –ne expression2

如果两个表达式不等则结果为真

expression1 –gt expression2

如果expression1大于expression2则结果为真

expression1 –ge expression2

如果expression1大于或等于expression2则结果为真

expression1 –lt expression2

如果expression1小于expression2则结果为真

expression1 –le expression2         

如果expression1小于或等于expression2则结果为真                                                                      

!expression

如果表达式为则结果为真,反之亦然

 

文件条件测试

结果

-d file                                                      

如果文件是一个目录则结果为真

-e file

如果文件存在则结果为真。要注意的是历史上-e选项是不可移植的,所以通常使用的是-f选项 

-f file

如果文件是一个普通文件则结果为真

-g file

如果文件的SIG位被设置则结果为真

-r file

如果文件可读则结果为真

-s file

如果文件的长度不为0则结果为真

-u file

如果文件的SUID位被设置则结果为真

-w file

如果文件可写则结果为真

-x file

如果文件可执行则结果为真


参数扩展

说明

${param:-default}                               

如果param为空,就把它设置为default的值

${#param}

给出param的长度

${param%word}

从param的尾部开始删除与word匹配的最小部分,然后返回剩余部分                                            

${param%%word}

从param的尾部开始删除与word匹配的最大部分,然后返回剩余部分

${param#word}

从param的头部开始删除与word匹配的最小部分,然后返回剩余部分

${param##word}

从param的头部开始删除与word匹配的最小部分,然后返回剩余部分





摘自《Linux程序设计(第三版)》

 

0 0
原创粉丝点击