let命令的用法

格式:

let 赋值表达式

【注】let赋值表达式功能等同于:(赋值表达式)

例子:给自变量i加8

[root@XCN~]#i=2[root@XCN~]#leti=i+8[root@XCN~]#echo$i10[root@XCN~]#i=i+8#去掉let定义[root@XCN~]#echo$ii+8#输出的结果提示:leti=i+8等同于((i=i+8)),但后者效率更高


expr命令的用法:

expr命令一般用于整数值,但也可用于字符串,用来表达式变量的值,同时expr也是一个手工命令行计算器。

语法:expr expression

[root@XCN~]#expr2+24[root@XCN~]#expr2-20[root@XCN~]#expr2*2expr:syntaxerror[root@XCN~]#expr2\*2#*号用/来转义4

提示:

注意:运算符左右都有空格

使用乘号时,必须用反斜线屏蔽其特定含义。因为shell可能会误解星号的含义


增量计数:

expr在循环中可用于增量计算。首先,循环初始化为0,然后循环值加1,反引号的用法为命令替代,最基本的一种是从(expr)命令接受输出并将之放入循环变量。

例:给自变量i加1

[root@XCN~]#i=0[root@XCN~]#i=`expr$i+1`[root@XCN~]#echo$i1

expr$[$a+$b]表达式形式,其中$a$b可为整数值

[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判断扩展名脚本

#!/bin/bashifexpr"$1":".*\.pub"&>/dev/null#判断传递参数扩展名是否为pubthenecho"youareusing$1"elseecho"plsuse*.pubfile"fi#exprid_dsa.pub:`.*\.pub`,匹配*.pub格式的文件如果是则为真。离:

expr判断是非整数


#!/bin/bash

expr1+$1&>/dev/nullif[$?-eq0]thenecho"zhengshu"elseecho"feizhengshu"fi