mirror of https://github.com/tLDP/LDP
50 lines
1.2 KiB
Bash
50 lines
1.2 KiB
Bash
#!/bin/bash
|
|
|
|
echo
|
|
|
|
let a=11 # Same as 'a=11'
|
|
let a=a+5 # Equivalent to let "a = a + 5"
|
|
# (Double quotes and spaces make it more readable.)
|
|
echo "11 + 5 = $a" # 16
|
|
|
|
let "a <<= 3" # Equivalent to let "a = a << 3"
|
|
echo "\"\$a\" (=16) left-shifted 3 places = $a"
|
|
# 128
|
|
|
|
let "a /= 4" # Equivalent to let "a = a / 4"
|
|
echo "128 / 4 = $a" # 32
|
|
|
|
let "a -= 5" # Equivalent to let "a = a - 5"
|
|
echo "32 - 5 = $a" # 27
|
|
|
|
let "a *= 10" # Equivalent to let "a = a * 10"
|
|
echo "27 * 10 = $a" # 270
|
|
|
|
let "a %= 8" # Equivalent to let "a = a % 8"
|
|
echo "270 modulo 8 = $a (270 / 8 = 33, remainder $a)"
|
|
# 6
|
|
|
|
|
|
# Does "let" permit C-style operators?
|
|
# Yes, just as the (( ... )) double-parentheses construct does.
|
|
|
|
let a++ # C-style (post) increment.
|
|
echo "6++ = $a" # 6++ = 7
|
|
let a-- # C-style decrement.
|
|
echo "7-- = $a" # 7-- = 6
|
|
# Of course, ++a, etc., also allowed . . .
|
|
echo
|
|
|
|
|
|
# Trinary operator.
|
|
|
|
# Note that $a is 6, see above.
|
|
let "t = a<7?7:11" # True
|
|
echo $t # 7
|
|
|
|
let a++
|
|
let "t = a<7?7:11" # False
|
|
echo $t # 11
|
|
|
|
exit
|