The test command in the shell is used to check if a condition is true, and it can be tested in three aspects of numeric, character, and file.
Numerical test
Parameters |
Description |
-eq |
Equals is True |
-ne |
Not equal to True |
-gt |
is greater than true |
-ge |
Greater than or equal to true |
-lt |
is less than true |
-le |
is less than or equal to true |
Example Demo:
Num1=100num2=100if Test $[NUM1]-eq $[num2]then echo ' two numbers equal! ' Else echo ' two numbers are not equal! ' Fi
Output Result:
Two numbers equal!
The [] in the code performs the basic arithmetic operations, such as:
#!/bin/basha=5b=6result=$[a+b] # Note that there is no space on either side of the equal sign echo "Result: $result"
The result is:
Result is: 11
String test
Parameters |
Description |
= |
Equals is True |
!= |
Not Equal is true |
-Z String |
True if the length of the string is zero |
-N String |
True if the length of the string is nonzero |
Example Demo:
num1= "Ru1noob" num2= "Runoob" if test $num 1 = $num 2then echo ' two strings equal! ' else echo ' two strings are not equal! ' Fi
Output Result:
Two strings are not equal!
File test
Parameters |
Description |
-E File name |
True if the file exists |
-R file name |
True if the file exists and is readable |
-W file name |
True if the file exists and is writable |
-X file name |
True if the file exists and is executable |
-S file name |
True if the file exists and has at least one character |
-D file name |
True if the file exists and is a directory |
-F file name |
True if the file exists and is a normal file |
-C file name |
True if the file exists and is a character-specific file |
-B file Name |
True if the file exists and is a block special file |
Example Demo:
Cd/binif test-e./bashthen echo ' file already exists! ' else echo ' file does not exist! ' Fi
Output Result:
File already exists!
In addition, the shell is provided with (-a), or (-O), non (!) Three logical operators are used to connect test conditions with a priority of: "!" Highest, "-a" followed, "-O" the lowest. For example:
Cd/binif test-e./notfile-o-E./bashthen echo ' has a file present! ' else echo ' Two files do not exist ' fi
Output Result:
There is a file present!
This article is from the "Wind Trace _ Snow Tiger" blog, please be sure to keep this source http://snowtiger.blog.51cto.com/12931578/1941356
Shell--7, Shell Test command