Expressions
Expressions are used in @, if, and while statements to perform arithmetic, string comparisons, file testing, and so on. exit and set also specify expressions, as can the tcsh built-in command filetest. Expressions are formed by combining variables and constants with operators that resemble those in the C programming language. Operator precedence is the same as in C and can be remembered as follows:
* / %
+ -
Group all other expressions inside parentheses. Parentheses are required if the expression contains <, >, &, or |.
Operators
Operators can be one of the following types.
Assignment operators
Operator |
Description |
---|---|
= |
Assign value. |
+= -= |
Reassign after addition/subtraction. |
*= /= %= |
Reassign after multiplication/division/remainder. |
&= ^= |= |
Reassign after bitwise AND/XOR/OR. |
++ |
Increment. |
-- |
Decrement. |
Arithmetic operators
Operator |
Description |
---|---|
* / % |
Multiplication; integer division; modulus (remainder). |
+ - |
Addition; subtraction. |
Bitwise and logical operators
Operator |
Description |
---|---|
~ |
Binary inversion (one’s complement). |
! |
Logical negation. |
<< >> |
Bitwise left shift; bitwise right shift. |
& |
Bitwise AND. |
^ |
Bitwise exclusive OR. |
| |
Bitwise OR. |
&& |
Logical AND. |
|| |
Logical OR. |
{ command } |
Return 1 if command is successful, 0 otherwise. Note that this is the opposite of command’s normal return code. The $status variable may be more practical. |
Comparison operators
Operator |
Description |
---|---|
= = != |
Equality; ... |
Get Linux in a Nutshell, Fourth Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.