linux shell let, expr 命令詳解


linux命令之let、expr
shell程序中的操作默認都是字符串操作,在運行數學運算符的時候可能得到意想不到的答案:

var=1
var=$var+1
echo $var

將輸出 1+1
從這個例子中可以看出shell字符串連接的操作

let 命令
let 命令是 BASH 中用於計算的工具,用於執行一個或多個表達式,變量計算中不需要加上 $ 來表示變量。
運算符間不能有空格,如果表達式中包含了空格或其他特殊字符,則必須引起來。
var=1

let "var+=1" # 或 let var+=1 這種寫法運算符間不能有空格

echo $var


output:
2

let可以用(())代替,let ″j=i*6+2″等價於((j=i*6+2))

expr命令
將需要運算的表達式寫入在expr 后面,保證參數與運算符號中間有空格隔開。

var=1

var=`expr $var + 1` #如果沒有空格,即var=`expr $var+1` 則輸出為1+1

echo $var

output:
2
下面為一個具體的例子:

[root@localhost ~]# cat let.sh
#!/bin/bash
a=4
b=5
let c=a+b
echo $c
let "f = b + c"
echo $f
((d=a+c))
echo $d
e=`expr $a + $d`
echo $e
[root@localhost ~]# bash let.sh
9
14
13
17

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM