let的用法
let運(yùn)算命令的語法格式為: let 賦值表達(dá)式?? 功能等同于 “((賦值表達(dá)式))”
??? 舉個栗子:
?

let i=i+8 等同于((i=i+8)),但是后者效率更高
expr的用法
expr(evalute(求值)expressions(表達(dá)式))命令既可以用于整數(shù)運(yùn)算,也可以用于相關(guān)字符串長度、匹配等運(yùn)算處理
1、expr用于計算
舉個栗子:

注意:(1) 運(yùn)算符及計算的數(shù)字左右都至少有一個空格,否則會報錯
?????????? (2)使用乘號時,必須用反斜線屏蔽其特定含義,因?yàn)镾hell會誤解星號的含義
2、expr配合變量計算

expr的實(shí)戰(zhàn)小案例
1、判斷一個變量值或字符串是否為整數(shù)
實(shí)驗(yàn)原理:利用expr進(jìn)行 計算時必須是整數(shù)的規(guī)則,把一個變量或者字符串和一個已知的整數(shù)(非0)相加,看命令的返回的值是否為0,如果為0就認(rèn)為做加法的變量或字符串為整數(shù),否則就不是整數(shù)
[beifeng@hadoop1-senior ~]$ i=5
[beifeng@hadoop1-senior ~]$ expr $i + 6 &>/dev/null? ? #把 i 和整數(shù)相加,&>/dev/null 表示不保留任何輸出
[beifeng@hadoop1-senior ~]$ echo $?? #輸出返回值
0
[beifeng@hadoop1-senior ~]$

返回值非0,則證明變量不是整數(shù)

通過傳參判斷輸入?yún)?shù)是否為整數(shù)

通過read持續(xù)輸入的方式判斷多個輸入是否為整數(shù)
2、expr的特殊用法:判斷文件擴(kuò)展名是否符合要求

3、通過expr計算字符串的長度


打印語句中字符數(shù)不大于6的字符串