算術表示式操作方法彙總

2021-06-05 19:28:56 字數 2177 閱讀 4396

1.       expr expression

expr只能用乙個操作符,不支援二個或以上的操作符

expr命令一般用於整數值,但也可用於字串。一般格式為:

expr argument operator argument

expr也是乙個手工命令列計數器。

$expr 10 + 10

20$expr 1500 + 900

2500

$expr 30 / 3

10$expr 30 / 3 / 2

5(注意運算子左右都有空格 ,如果沒有空格表示是字串連線)

使用乘號時,必須用反斜線遮蔽其特定含義。因為shell可能會誤解顯示星號的意義。

$expr 30 * 3

90數值測試

可以用expr測試乙個數。如果試圖計算非整數,將返回錯誤。

$rr=1.1

$expr $rr + 1

expr: non-numeric argument

$rr=2

$expr $rr + 1

3(注意:這個例子與原文不同)

這裡需要將乙個值賦予變數(不管其內容如何),進行數值運算,並將輸出匯入dev/null,

然後測試最後命令狀態,如果為0,證明這是乙個數,其他則表明為非數值。

$value=12

$expr $value + 10 > /dev/null 2>&1

$echo $?

0這是乙個數。

$value=hello

$expr $value + 10 > /dev/null 2>&1

$echo $?

2這是乙個非數值字元。

expr也可以返回其本身的退出狀態,不幸的是返回值與系統最後退出命令剛好相反,成

功返回1,任何其他值為無效或錯誤。下面的例子測試兩個字串是否相等,這裡字串為

「hello」和「hello」。

$value=hello

$expr $value = "hello"

1$echo $?

0expr返回1。不要混淆了,這表明成功。現在檢驗其最後退出狀態,返回0表示測試成功,

「hello」確實等於「hello」。

模式匹配

expr也有模式匹配功能。可以使用expr通過指定冒號選項計算字串中字元數。.*意即任

何字元重複0次或多次。

$value=accounts.doc

$expr $value : '.*'

12在expr中可以使用字串匹配操作,這裡使用模式. d o c抽取檔案附屬名。

$expr $value : '(.*).doc'

accounts

1 x=1

2 x=$(expr $x + 1)

$x + 1之間必須有空格

用於求值算術表示式。該命令的輸出被傳送到標準輸出

expr 4 + 5 將在螢幕上顯示9

1.注意:運算子兩邊必須有空格2.*必須使用\忽略其特定意義3.不支援小數,會自動忽略小數部分

2.       let expression

let 的使用方式

x=10

let x=$x+1

let x+=1

let x*=10等

let沒有返回值

3.       使用$((expression ))或((expression))形式

((expression))的使用方法

x=10

((x+=10))

(( expression)) 用法和let類似

$(())的使用用法: $((x=$x+10))

echo $x

y=$((x=$x-10))

echo $y

y=$(($x+1))

echo $y

echo $x

4.       使用$[  ]形式

例如:n=1

:  $[ n=$n+1 ](:和$之間有空格)

y=$[ n = $n + 1 ]

echo $y

y=$[ $n+1 ]

echo $y

5.       使用decalare 

例子:decare –i num

num=$num+1

echo $num

文章出處:飛諾網(www.diybl.com):

算術表示式

引用標頭檔案 include include include using namespace std typedef int elemtype const int stack init size 100 儲存空間的初始化分配量 const int stackincrement 10 儲存空間分配增量...

算術表示式

include include include include define maxzhansize 30 char stack maxzhansize char deleted int top void add int top,char item 逆波蘭數計算 define element int...

棧 算術表示式

將乙個算術表示式 即中綴形式 轉化成其字尾形式,並算出答案。include include include include include include using namespace std using namespace std bool isoperator char ch return f...