The test command in the shell is used to check whether a condition is valid, and it can be tested in three aspects, such as numeric value, character, and file.
Numerical test
Parameters |
Description |
-eq |
is equal to True |
-ne |
Not equal to True |
-gt |
is greater than is true |
-ge |
Greater than or equal to true |
-lt |
is less than is true |
-le |
Less than or equal to true |
For example:
Copy Code code as follows:
num1=100
num2=100
if test $[num1]-eq $[num2]
Then
Echo ' The two numbers are equal! '
Else
Echo ' The two numbers are not equal! '
Fi
Output:
The two numbers are equal!
String test
Parameters |
Description |
= |
is equal to True |
!= |
Not Equal is true |
-Z String |
String length pseudo is True |
-N String |
String length not False is true |
For example:
Copy Code code as follows:
num1=100
num2=100
if test num1=num2
Then
Echo ' The two strings are equal! '
Else
Echo ' The two strings are not equal! '
Fi
Output:
The two strings are 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 filename |
True if the file exists and is executable |
-S filename |
If the file exists and at least one character is true |
-D file name |
True if the file exists and is a directory |
-F filename |
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 filename |
True if the file exists and is a block-specific file |
For example:
Copy Code code as follows:
Cd/bin
If Test-e./bash
Then
Echo ' The file already exists! '
Else
Echo ' The file does not exists! '
Fi
Output:
The file already exists!
In addition, the shell provides a (!), or (-O), non (-a) three logical operators to connect test conditions with a priority of: "!" Highest, "-a" second, "-O" lowest. For example:
Copy Code code as follows:
Cd/bin
If Test-e./notfile-o./bash
Then
Echo ' one file exists at least! '
Else
echo ' Both dose not exists! '
Fi
Output:
One file exists at least!