71 echo $(( iv += (jv + 9)))
72 echo $(( (iv + 4) % 7 ))
78 # conditional expressions
79 echo $(( 4<5 ? 1 : 32))
80 echo $(( 4>5 ? 1 : 32))
81 echo $(( 4>(2+3) ? 1 : 32))
82 echo $(( 4<(2+3) ? 1 : 32))
83 echo $(( (2+2)<(2+3) ? 1 : 32))
84 echo $(( (2+2)>(2+3) ? 1 : 32))
86 # check that the unevaluated part of the ternary operator does not do
87 # evaluation or assignment
91 echo $((1 ? 20 : (x+=2)))
93 echo $((0 ? (y+=2) : 30))
99 echo $((1 ? 20 : (x+=2)))
101 echo $((0 ? (y+=2) : 30))
104 # check precedence of assignment vs. conditional operator
109 # check precedence of assignment vs. conditional operator
111 echo $((0 ? x+=2 : 20))
113 # associativity of assignment-operator operator
114 declare -i i=1 j=2 k=3
115 echo $((i += j += k))
119 echo $(( 0x100 | 007 ))
144 # missing number after base
147 # these should generate errors
152 echo $(( jv += \$iv ))
153 let 'rv = 7 + (43 * 6'