Shell变量
变量替换之删除指定字符串
语法作用
| ${var#pattern} | 将 $var 的值从左侧删除与模式 pattern 匹配的最短字符串并返回。 |
| ${var##pattern} | 将 $var 的值从左侧删除与模式 pattern 匹配的最长字符串并返回。 |
| ${var%pattern} | 将 $var 的值从右侧删除与模式 pattern 匹配的最短字符串并返回。 |
| ${var%%pattern} | 将 $var 的值从右侧删除与模式 pattern 匹配的最长字符串并返回。 |
小技巧:
#表示左侧; % 表示右侧。
一个 # 或 % 表示最短;两个 # 或 % 表示最长。

变量值之替换
语法作用
| ${var/pattern/replace} | 将 $var 的值中第一个与模式 pattern 匹配的串替换为 replace 并返回。 |
| ${var/pattern} | 将 $var 的值中第一个与模式 pattern 匹配的串删除并返回。 |
| ${var//pattern/replace} | 将 $var 的值中所有与模式 pattern 匹配的串替换为 replace* 并返回。 |
| ${var/#pattern/replace} | 将 $var 的值开头与模式 pattern 匹配的串替换为 replace 并返回。 |
| ${var/%pattern/replace} |
将 $var 的值结尾与模式 pattern 匹配的串替换为 replace 并返回。
|

有类型变量
declare和typeset两者等价,都是用来定义变量类型
| 参数 | 含义 |
| -r | 将变量设置为只读 |
| -i | 将变量设置为整数 |
| -a | 将变量定义为数组 |
| -f | 显示此脚本前定义过的所有函数和内容 |
| -F | 显示此脚本定义过的函数名 |
| -x | 将变量声明为环境变量 |

浙公网安备 33010602011771号