shell 脚本之变量
变量替换
语法 | 说明 |
---|---|
${变量名#匹配规则} | 从变量开头 进行规则匹配,将符合最短 的数据删除 |
${变量名##匹配规则} | 从变量开头 进行规则匹配,将符合最长 的数据删除 |
${变量名%匹配规则} | 从变量尾部 进行规则匹配,将符合最短 的数据删除 |
${变量名%%匹配规则} | 从变量尾部 进行规则匹配,将符合最长 的数据删除 |
${变量名/旧字符串/新字符串} | 变量内容符合旧字符串则,则第一个 旧字符串会被新字符串取代 |
${变量名//旧字符串/新字符串} | 变量内容符合旧字符串则,则全部的 旧字符串会被新字符串取代 |
字符串处理
- 计算字符串长度
- | 语法 | 说明 |
---|---|---|
方法一 | ${#string} | 无 |
方法二 | expr length “$string” | string 有空格,则必须加双引号 |
获取子串在字符串中的索引位置
语法: expr index $string $substring计算子串长度
语法: expr match $string substr抽取子串
- ${string:position} :从 string 中的 position 开始
- ${string:position:length}:从 position 开始,匹配长度为 length
- ${string:-position}:从右边开始匹配
- ${string:(position)}:从左边开始匹配
- expr substr $string $position $length:从 position 开始,匹配长度为 length