1 
#!/usr/bin/env bash 
2 
# 
3 
# let arithmetic. 
4 

5 
### let 
6 
# NOTE: no spaces are allowed. How is this tokenized? 
7 
let x=1 
8 
let y=x+2 
9 
let z=y*3 # zsh treats this as a glob; bash doesn't 
10 
let z2='y*3' # both are OK with this 
11 
echo $x $y $z $z2 
12 
# stdout: 1 3 9 9 
13 
# OK zsh stdoutjson: "" 
14 
# OK zsh status: 1 
15 

16 
### let with () 
17 
let x=( 1 ) 
18 
let y=( x + 2 ) 
19 
let z=( y * 3 ) 
20 
echo $x $y $z 
21 
# stdout: 1 3 9 
22 
# status: 0 
23 
# NI mksh/zsh stdoutjson: "" 
24 
# NI mksh/zsh status: 1 