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=num2= +if test $[num1]-eq $[num2] then' The numbers is equal! ' else' The numbers is not equal! ' fi
Output Result:
The numbers is equal!
String test
| Parameters |
Description |
| = |
Equals is True |
| != |
Not Equal is true |
| -Z String |
The string length pseudo is True |
| -N String |
True if the string length is not pseudo |
Example Demo:
NUM1=num2=if test num1= num2 then' the ' The ' Strings ' isequal! ' else' the strings is not equal! ' fi
Output Result:
The strings is 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:
/Binif-./bashthen' the file already exists! ' else' The file does not exists! ' fi
Output Result:
The 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:
/Binif-./-./bashthen' one file exists at least! ' else' Both dose not exists! ' fi
Output Result:
One file exists at least!
Shell Test Command