运算符
=, +, -, *, /, %, +=, -=, *=, /=, %=基本与 C 中的一致。
需要注意的是 = 在 test 中表示字符串的比较。
幂运算符 **
let "z=2**5" # 2^5
let "z=$z+1"
let "z+=1"
位运算符
<<, <<=, >>, >>=, &, &=, |, |=, ~, ^, ^= 与 C 基本一致。
逻辑运算符
! 非
if [ ! -f $FILENAME ] then;
...
&&, || 与,或
# &&
if [ $condition1 ] && [ $condition2 ]
if [ $condition1 && $condition2 ] # 错误,应该是 [ $condition1 -a $condition2 ]
# ||
if [ $condition1 ] || [ $condition2 ]
if [ $condition2 -o $condition2 ] # 建议逻辑运算不使用 -a, -o 使用 &&, || 代替之。