let命令的用法
格式:
let 賦值表達式
【注】let賦值表達式功能等同于:(賦值表達式)
例子:給自變量i加8
1 2 3 4 5 6 7 8 | [root@XCN?~] #?i=2 [root@XCN?~] #?let?i=i+8 [root@XCN?~] #?echo?$i 10 [root@XCN?~] #?i=i+8???#去掉let定義 [root@XCN?~] #?echo?$i i+8?????? #輸出的結果 提示: let ?i=i+8等同于((i=i+8)),但后者效率更高 |
expr命令的用法:
expr命令一般用于整數值,但也可用于字符串,用來表達式變量的值,同時expr也是一個手工命令行計算器。
語法:expr expression
1 2 3 4 5 6 7 8 | [root@XCN?~] #?expr?2?+?2 4 [root@XCN?~] #?expr?2?-?2? 0 [root@XCN?~] #?expr?2?*?2? expr :?syntax?error [root@XCN?~] #?expr?2?\*?2??#*號用/來轉義 4 |
提示:?
-
注意:運算符左右都有空格
-
使用乘號時,必須用反斜線屏蔽其特定含義。因為shell可能會誤解星號的含義
增量計數:
expr在循環中可用于增量計算。首先,循環初始化為0,然后循環值加1,反引號的用法為命令替代,最基本的一種是從(expr)命令接受輸出并將之放入循環變量。
例:給自變量i加1
1 2 3 4 | [root@XCN?~] #?i=0 [root@XCN?~] #?i=`expr?$i?+?1` [root@XCN?~] #?echo?$i 1 |
expr$[$a+$b]表達式形式,其中$a$b可為整數值
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | [root@XCN?~] #?expr?$[2+3] 5 [root@XCN?~] #?expr?$[2*3]? 6 [root@XCN?~] #?expr?$[2**3] 8 [root@XCN?~] #?expr?$[2/3]?? 0 [root@XCN?~] #?expr?$[2%3]? 2 [root@XCN?~] #?a=5???????? [root@XCN?~] #?b=6 [root@XCN?~] #?expr?$[$a+$b] 11 #expr將其后的串解釋為表達式并計算其值,運算符前后需有空格 |
expr 特殊用法:
expr判斷擴展名腳本
1 2 3 4 5 6 7 8 9 10 | #!/bin/bash if ?expr ?"$1" ?:? ".*\.pub" ?&> /dev/null ??#判斷傳遞參數擴展名是否為pub then ???? echo ?"you?are?using?$1" else ???? echo ?"pls?use?*.pub?file" fi ?? ?? #expr?id_dsa.pub:`.*\.pub`,匹配*.pub格式的文件如果是則為真。離: |
expr判斷是非整數
#!/bin/bash
1 2 3 4 5 6 7 | expr ?1?+?$1?&> /dev/null if ?[?$??- eq ?0?] then ?? echo ?"zhengshu" else ?? echo ?"feizhengshu" fi |
本文轉自 baishuchao 51CTO博客,原文鏈接:http://blog.51cto.com/baishuchao/1941056