31. Bash Shell  Expansions: Command, Arithmetic, Process Substitution
Contents
Linux provides us with some expansions for command, arithmetic, addition and subtraction, comparison, ternary, assignment, and process substitution operations.
Command
We can execute the output as a command by using the $() or `` symbols.
Let’s use the $() symbols to do this first:


Alternatively, we can use backtick symbols to achieve the same effect:


Arithmetic
We can use arithmetic expansion to quickly calculate numerical values.
Some of the operators we can use are:
Operator  Meaning 

VARIABLE++ VARIABLE‑‑  self increasing or deceasing after the variable is obtained 
++VARIABLE ‑‑VARIABLE  self increasing or deceasing before the variable is obtained 
 +  negative or positive number 
! ~  logical or bitwise negation 
**  exponentiation 
* / %  multiplication, division, remainder 
+   addition, subtraction 
<= >= < >  less than equals, greater than equals, less than, greater than 
== !=  equal or not equal 
expr ? expr : expr  ternary operator 
= *= /= %= += = <<= >>= &= ^=  assign the operation result to a variable 
Addition and Subtraction


Comparison


Ternary Operator
Positive and negative numbers are true, only zero is false


Assignment Operator


Process Substitution
We can use the <() symbols to use the result of the command output as a file:


References 3.5.4 Command Substitution, 3.5.5 Arithmetic Expansion, 6.5 Shell Arithmetic, 3.5.6 Process Substitution
Author Dong Chen
LastMod Mon Mar 4 2019