一 算術運算符:shell
+ - * / %(取餘) **(冪)express
1.1 expr計算某個表達式值bash
expr expression(expr不能計算冪運算)io
例子:變量
#!/bin/bash語法
#計算2和100的差,即-98引用
result=`expr 2 -100`二進制
echo"$result"字符
#計算2和100的和,即102let
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進制