一 算術運算子:
+ - * / %(取餘) **(冪) 1.1 expr計算某個運算式值
expr expression(expr不能計算冪運算)
例子:
#。/bin/bash
#計算2和100的差,即-98
result=`expr 2 -100`
echo"$result"
#計算2和100的和,即102
result=`expr 2 +100`
echo"$result"
#計算2和5的乘積,即10
result=`expr 2 \*5`
echo"$result"
#計算24和8的商,即3
result=`expr 24 /8`
echo"$result"
#先計算2和6的差,然後再乘以12,即-48
result=`expr \( 2- 6 \) \* 12`
echo"$result"
#錯誤的文法,沒有空格
result=`expr 2+5`
echo"$result"
#錯誤的文法
result=`expr2-4*9`
echo"$result"
#錯誤的文法
result=`expr1-(4-7)`
echo"$result" 1.2 用$(())計算:
#! /bin/sh
#緊湊格式,計算3和6的和
result=$((3+6))
echo"$result"
#鬆散格式,計算3和9的和
result=$(( 3 + 9))
echo"$result"
#計算3和6的乘積
reuslt=$(( 3 * 6))
echo"$result"
#計算7和5的商
result=$(( 7 / 5))
echo"$result"
#計算8和3的餘數
result=$(( 8 % 3))
echo"$result"
#複合運算
result=$(( ( 1-4 )* 5 ))
echo"$result"
1.3 用$[ ]計算
#! /bin/sh
#加法運算
result=$[4+5]
echo"$result"
#複合運算
result=$[(1+2)*3]
echo"$result"
#冪運算
result=$[ 2 ** 4 ]
echo"$result"
1.4 用let命令計算
let命令可執行一個或多個算術運算式,變數名無需$,如果運算式有空格或其他特殊字元,引用起來。
#! /bin/sh
#定義變數
n=10
#加法運算
let n=n+1
echo"$n"
#乘法運算
let n=n*10
echo"$n"
#冪運算
let n=n**2
echo"$n" 二 位元運算符
<<左移
>>右移
&按位與
| 位或
~位非
^位異或 2.1自增自減運算子:
++varibale 先加1,再賦給variable
--variable 先減1,再賦給variable
vaiable++ 先用variable,再加1
variable-- 先用variable,再減1 2.2數字常量的進位:
預設情況下,shell以十進位表示數字,也可用二進位,八進位,十六進位。
增加首碼:0表示8進位,0x表示十六進位
井號#:2#100表示2進位,8#42表示8進位