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; ... |
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access