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