C Shell Operators

Operators are listed in order of decreasing precedence

OperatorMeaning
( ) change precedence
~ 1`s complement
! logical negation
* / % multiply, divide, modulo
+ - add, subtract
<< >> left shift, right shift
== != string comparison
=~ !~ pattern matching (BSD)
& bitwise "and"
^ bitwise "exclusive or"
| bitwise "inclusive or"
&& logical "and"
|| logical "or"

Assignment Operators


OperatorMeaning
++ increment
-- decrement
= assignment
*= multiply left side by right side and update left side
/= divide left side by right side and update left side
+= add left side to right side and update left side
-= subtract left side from right side and update left side
^= "exclusive or" left side to right side and update left side
%= (modulo) divide left by right side and update left side with remainder

File Inquiry Operators

Format: (operator filename)


OperatorTrue if
-dfile is a directory
-efile exists
-ffile is a plain file
-ouser is owner
-ruser has read access
-wuser has write access
-xuser has execute access
-zfile has zero length