1. String judgment
STR1 = str2 When two strings have the same content, the length is true
STR1!= str2 is true when strings str1 and str2 are unequal
-N str1 True when the length of the string is greater than 0 (string not empty)
-Z str1 True when the length of the string is 0 (empty string)
STR1 is True when string str1 is Non-null
2, the number of judgments
Int1-eq int2 Two number equal to True
Int1-ne Int2 Two is not equal to the true number
INT1-GT Int2 int1 greater than Int2 is true
Int1-ge Int2 Int1 is greater than or equal to Int2 is true
Int1-lt Int2 Int1 is less than int2 true
Int1-le Int2 Int1 is less than or equal to Int2 true
3 The judgment of the document
-r file user readable as True
-W file user can write as true
-X file user can execute as true
-F file is true for regular files
-D file is true for directory
-C file is true for character special files
-B file is a block special file is True
-S file file non-0 o'clock is true
-T file True when the device specified by the file descriptor (default is 1) is a terminal
3. Complex logic judgment
-A and
-O or
! Non -
Here are some examples of usages:
#!/bin/sh
Mypath= "/var/log/httpd/"
Myfile= "/var/log/httpd/access.log"
#这里的-x parameter to determine whether $mypath exists and has executable permissions
if [!-X "$myPath"]; Then
mkdir "$myPath"
Fi
#这里的-D parameter to determine whether $mypath exists
if [!-D "$myPath"]; Then
mkdir "$myPath"
Fi
#这里的-F parameter to determine whether $myfile exists
if [!-F "$myFile"]; Then
Touch "$myFile"
Fi
#其他参数还有-n,-n is to determine whether a variable has a value
if [!-n "$myVar"]; Then
echo "$myVar is empty"
Exit 0
Fi
#两个变量判断是否相等
If ["$var 1" = = "$var 2"]; Then
Echo ' $var 1 eq $var 2 '
Else
Echo ' $var 1 not EQ $var 2 '
Fi
If List Then
Do something here
Elif List Then
Do another thing
Else
Do something else here
Fi
EX1:
#!/bin/sh
System= ' uname-s ' #获取操作系统类型, my local Linux
if [$SYSTEM = "Linux"]; Then #如果是linux的话打印linux字符串
echo "Linux"
elif [$SYSTEM = "FreeBSD"]; Then
echo "FreeBSD"
elif [$SYSTEM = "Solaris"]; Then
echo "Solaris"
Else
echo "What?"
Fi #ifend
--This article from: The various judgments of shell script