expr


expr命令是一个手工命令行计数器,用于在UNIX/LINUX下求表达式变量的值,一般用于整数值,也可用于字符串。 —— 菜鸟教程

简单的四则运算

#!/bin/bash
          
expr 3 + 2
          
expr 3 - 2
          
expr 3 \* 2
          
expr 3 / 4  
5
1
6
0

PS:乘号需要加上\以达到转义的效果

对字符串的运用

index 参数在字符串或者数字中第一次出现的位置

shell:

#!/bin/bash
 
printf '命令:expr index "abcdefg" e 输出:'
expr index "abcdefg" e
 
printf '命令:expr index "21372814" 1 输出:'
expr index "21372814" 1

printf '命令:expr index 2324 2 输出:'
expr index 2324 2
 
printf '命令:expr index 2324 1 输出:'
expr index 2324 1
 
var="HelloWorld!!!"
 
printf '命令:expr index $var H 输出:'    
expr index $var H

输出:

命令:expr index "abcdefg" e    输出:5
命令:expr index "21372814" 1   输出:2
命令:expr index 2324 2         输出:1
命令:expr index 2324 1         输出:0
命令:expr index $var H         输出:1

substr 实现对字符串的截取

shell:

#!/bin/bash
 
expr substr "Hello World ! ! !" 3 6
 
var="GenmCaiNBZJ"
expr substr $var 1 7

输出:

llo Wo
GenmCai

length 取字符串的长度

shell:

#!/bin/bash
 
expr length "12345678"
 
var="String"
expr length $var   

输出:

8
6