expr命令的兩大作用:
1)四则运算;
2)字符串的操作;
1、四则运算
注意: 运算符左右都有空格 ,如果没有空格表示是字符串连接
使用乘号时,必须用反斜线屏蔽其特定含义。因为shell可能会误解显示星号的意义。
1)四则运算;
2)字符串的操作;
1、四则运算
[tough@localhost ~]$ expr 6+2 6+2 [tough@localhost ~]$ expr 6 + 2 8 [tough@localhost ~]$ expr 6 - 2 4 [tough@localhost ~]$ expr 6 / 2 3 [tough@localhost ~]$ expr 6 * 2 expr: syntax error [tough@localhost ~]$ expr 6 * 2 12 [tough@localhost ~]$ expr 6 + 3 - 5 4
注意: 运算符左右都有空格 ,如果没有空格表示是字符串连接
使用乘号时,必须用反斜线屏蔽其特定含义。因为shell可能会误解显示星号的意义。
[tough@localhost ~]$ expr 1.4 / 2 expr: non-numeric argument [tough@localhost ~]$ echo $? 2 [tough@localhost ~]$ expr 2 / 2 1 [tough@localhost ~]$ echo $? 0
计算非整数,将返回错误,且返回碼非0。
2、字符串的操作
1)截取子串
从第7位开始,截取5位。
2)提取指定字符的下标
在"123#45"中找到"#"的位置,在第4位。
[tough@localhost ~]$ expr substr "Hello World" 7 5 World
在"123#45"中找到"#"的位置,在第4位。
[tough@localhost ~]$ expr index "123#45" "#" 4