shell中的条件

test或[命令

可以使用的条件类型有三类:字符串比较,算术比较和和文件有关的条件测试,test或[后面要有空格。

String Comparison Result
string1 = string2 True if the strings are equal
string1 != string2 True if the strings are not equal
-n string True if the string is not null
-z string True if the string is null (an empty string)
Arithmetic Comparison Result
expression1 -eq expression2 True if the expressions are equal
expression1 -ne expression2 True if the expressions are not equal
expression1 -gt expression2 True if expression1 is greater than expression2
expression1 -ge expression2 True if expression1 is greater than or equal to
expression2
expression1 -lt expression2 True if expression1 is less than expression2
expression1 -le expression2 True if expression1 is less than or equal to
expression2
! expression True if the expression is false, and vice versa
File Conditional Result
-d file True if the file is a directory
-e file True if the file exists. Note that historically the - e option
has not been portable, so -f is usually used.
-f file True if the file is a regular file
-g file True if set-group-id is set on file
-r file True if the file is readable
-s file True if the file has nonzero size
-u file True if set-user-id is set on file
-w file True if the file is writable
-x file True if the file is executable

示例:

if [ -d /bin/bash ]  #注意留有空格
then 
    echo "/bin/bash is a directory"
else
    echo "/bin/bash is a file"
fi

 

posted @ 2016-04-08 15:17  ceibaf  阅读(163)  评论(0编辑  收藏  举报