Test: Difference between revisions

From Psygen Wiki
Jump to navigation Jump to search
Created page with "The test command (or <code>[[ ]]</code>) is used to test various conditions, or to compare strings. When comparing strings in Bash you can use the following operators: <cod..."
 
No edit summary
Line 16: Line 16:
     -n string - True if the string length is non-zero.
     -n string - True if the string length is non-zero.


Following are a few points to be noted when comparing strings:


    A blank space must be used between the binary operator and the operands.
<b>Note:<b>
    Always use double quotes around the variable names to avoid any word splitting or globbing issues.
 
- A blank space must be used between the binary operator and the operands.
- Always use double quotes around the variable names to avoid any word splitting or globbing issues.

Revision as of 18:48, 6 May 2019

The test command (or [[ ]]) is used to test various conditions, or to compare strings.


When comparing strings in Bash you can use the following operators:

string1 = string2 and string1 == string2 - The equality operator returns true if the operands are equal.

- Use the = operator with the test [ command.
- Use the == operator with the [[ command for pattern matching.

   string1 != string2 - The inequality operator returns true if the operands are not equal.
   string1 =~ regex- The regex operator returns true if the left operand matches the extended regular expression on the right.
   string1 > string2 - The greater than operator returns true if the left operand is greater than the right sorted by lexicographical (alphabetical) order.
   string1 < string2 - The less than operator returns true if the right operand is greater than the right sorted by lexicographical (alphabetical) order.
   -z string - True if the string length is zero.
   -n string - True if the string length is non-zero.


Note:

- A blank space must be used between the binary operator and the operands. - Always use double quotes around the variable names to avoid any word splitting or globbing issues.