1 |
#!/usr/bin/env bash |
2 |
|
3 |
### (( )) result |
4 |
(( 1 )) && echo True |
5 |
(( 0 )) || echo False |
6 |
# stdout-json: "True\nFalse\n" |
7 |
|
8 |
### negative number is true |
9 |
(( -1 )) && echo True |
10 |
# stdout: True |
11 |
|
12 |
### (( )) in if statement |
13 |
if (( 3 > 2)); then |
14 |
echo True |
15 |
fi |
16 |
# stdout: True |
17 |
|
18 |
### (( )) |
19 |
# What is the difference with this and let? One difference: spaces are allowed. |
20 |
(( x = 1 )) |
21 |
(( y = x + 2 )) |
22 |
echo $x $y |
23 |
# stdout: 1 3 |
24 |
|
25 |
### (( )) with arrays |
26 |
a=(4 5 6) |
27 |
(( sum = a[0] + a[1] + a[2] )) |
28 |
echo $sum |
29 |
# stdout: 15 |
30 |
# OK zsh stdout: 9 |
31 |
|
32 |
### (( )) with error |
33 |
(( a = 0 )) || echo false |
34 |
(( b = 1 )) && echo true |
35 |
(( c = -1 )) && echo true |
36 |
echo $((a + b + c)) |
37 |
# stdout-json: "false\ntrue\ntrue\n0\n" |