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/bashif 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