作者在 2008-06-17 15:54:08 发布以下内容
条件测试是程序设计中不可缺少的一部分.以下就是shell程序设计中常见的条件测试方法.
“test”或”[ ]”命令:使用这二个命令用来测试条件是真还是假.使用方法:
if test –f file.c 或 if [ -f file.c ]
then … then …
fi fi
当条件满足(即为真)时,则执行then后面的语句.
注意在使用方括号”[]”来测试条件时,方括号要与测试条 件之间留出空格.
if test –f file.c 或 if [ -f file.c ]
then … then …
fi fi
当条件满足(即为真)时,则执行then后面的语句.
注意在使用方括号”[]”来测试条件时,方括号要与测试条 件之间留出空格.
测试条件分类:字符串比较类\算术比较类\与文件相关的条件测试类
字符串比较类:
字符串比较类:
string1 = string2 |
如果两字符串相同,则结果为真 |
string1 != string2 |
如果两字符串不相同,则结果为真 |
-n string |
如果字符串不是空,则结果为真 |
-z string |
如果字符串是空,则结果为真 |
注意在比较相等或不等的时侯,=/!=的两边要与比较的两字符串要有空格符相隔开.
算术比较类:
expression1 –eq expression2 |
如果两个表达式相等,则结果为真 |
expression1 –ne expression2 |
如果两个表达式不等,则结果为真 |
expression1 –gt expression2 |
如果前一个表达式大于后一个表达工,则结果为真 |
expression1 –ge expression2 |
如果前一个表达式大于或等于后一个表达工,则结果为真 |
expression1 –lt expression2 |
如果前一个表达式小于后一个表达工,则结果为真 |
expression1 –le expression2 |
如果前一个表达式小于或等于后一个表达工,则结果为真 |
! expression |
取表达式的非,即表达式为假,则结果为真 |
与文件有关的文件测试类:
文件条件测试 |
结果 |
-d file |
如果文件是一个子目录,则结果为真 |
-e file |
如果文件存在,则结果为真 |
-f file |
如果文件是一个普通文件,则结果为真 |
-g file |
如果文件的set-group-id被设置,则结果为真 |
-r file |
如果文件可读,则结果为真 |
-s file |
如果文件的长度不为0,则结果为真 |
-u file |
如果文件的set-user-id被设置,则结果为真 |
-w file |
如果文件可写,则结果为真 |
-x file |
如果文件可执行,则结果为真 |