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; ... |