^ operator ^ produces true if... ^ no. of operands ^
| -n | operand has non zero length | 1 |
| -z | operand has zero length | 1 |
| -d | there exists a directory whose name is operand | 1 |
| -f | there exists a file whose name is operand | 1 |
| -eq | the operands are integers and they are equal | 2 |
| -neq | the opposite of -eq | 2 |
| = | the operands are equal (as strings) | 2 |
| != | opposite of = | 2 |
| -lt | operand1 is strictly less than operand2 (both operands should be integers) | 2 |
| -gt | operand1 is strictly greater than operand2 (both operands should be integers) | 2 |
| -ge | operand1 is greater than or equal to operand2 (both operands should be integers) | 2 |
| -le | operand1 is less than or equal to operand2 (both operands should be integers) | 2 |

For loops

A loop over integers:

for ((i=1;i<=10;i+=1)); do
echo $i
done

While loops

myvar=0
while [ $myvar -le 10 ]
do
echo $myvar
myvar=$(( $myvar + 1 ))
done