expr的用法大全
1 expr用于计算
运算符及用于计算的数字左右2边至少有一个空格 否则会报错
使用乘号时 必须用反斜线转义
[root@localhost ~]# expr 2 * 2
4
2 用$()将计算表达式括起来
[root@localhost ~]# i=5
[root@localhost ~]# i=$(expr $i + 6 )
[root@localhost ~]# echo $i
11
3 运用 判断一个数是否为整数
[root@localhost ~]# i=5
[root@localhost ~]# expr $i + 6 &> /dev/null
[root@localhost ~]# echo $? #输出返回值
0 #返回为0 运行成功 i为整数
[root@localhost ~]# i=oldboy
[root@localhost ~]# expr $i + 6 &> /dev/null
[root@localhost ~]# echo $? #输出返回值
2 #返回非0 运行失败 i为非整数
4 通过传参判断是否为整数
!/bin/bash
expr $i + 6 &>/dev/null
#条件表达式语法 返回值为0 输出int 否则输出chars
[ $? -eq 0 ] && echo int || echo chars
4.1 补充:if [ 1 -ne 1 -o 0 -ne 0]
then
echo
exit 2
fi
,-o 表示"或"的逻辑运算符。条件语句中的 -o 表示两个条件中只要有一个成立就为真,即逻辑或的关系。因此,如果其中一个条件为真,整个条件语句就会为真。
5判断文件扩展名是否符合要求
!/bin/bash
if expr “$1” : “.*.pub” >/dev/null
then
echo “$1 is a .pub file”
else
echo “$1 is not a .pub file”
6通过expr计算字符串的长度
[root@localhost test]# char=“I am oldday”
[root@localhost test]# expr length “$char” #expr方法
11
[root@localhost test]# echo ${char} | wc -L #wc -L 方法
11
[root@localhost test]# echo ${#char} #计算变量子串的方法
11
[root@localhost test]# echo ${char} | awk ‘{print length($0)}’ #awk的length方法
11
7利用expr的length函数 输出 下列字符串中长度小于6的值
I am oldboy linux welcome to our training
#!/bin/bash
for n in I am oldboy linux welcome to our training
do
if [ expr length $n
-le 6 ] #利用expr中的length函数 输出长度<=6的值
then
echo $n
fi
done
7.1 补充:
if [计算表达式 -选项 6]
-le 6 --------<=6
-ge 6 -------->=6
-ne 6 --------!=6
-eq 6 -------=6