Shell字符串处理
${}的作用:
- 引用变量
- 文本处理(单行文本)
获取字符串长度
1 | echo ${#VAR} |
字符串切片
格式:
- ${parameter:offset}
- ${parameter:offset:length} 截取从offset个字符开始,向后length个字符
例如: - echo ${VAR:(-2)} 截取最后两个字符串
- echo ${VAR:(-3):2}
替换字符串
格式:${parameter/pattern/string},pattern前面开头一个正斜杠为匹配第一个字符串,两个表示匹配所有,可以匹配正则表达式
例如:
1 | VAR='hello world world!' |
字符串截取
格式:
- ${parameter#world}
- ${parameter##world}
- ${parameter%world}
- ${parameter%%world}
#去掉左边,最短匹配模式,##最长匹配模式
%去掉右边,最短匹配模式,%%最长匹配模式
变量状态赋值
- ${VAR:-string} 如果VAR变量为空则返回string
- ${VAR:+string} 如果VAR变量不为空则返回string
- ${VAR:=string} 如果VAR变量为空则重新赋值VAR变量值为string
- ${VAR:?string} 如果VAR变量为空则将string输出到stderr
字符串颜色
字体颜色 | 字体背景颜色 | 显示方式 |
---|---|---|
30 黑 | 40 黑 | 0 终端默认设置 |
31 红 | 41 深红 | 1 高亮显示 |
32 绿 | 42 绿 | 4 下划线 |
33 黄色 | 43 黄 | 5 闪烁 |
34 蓝 | 44 蓝 | 7 反白显示 |
35 紫色 | 45 紫色 | 8 隐藏 |
36 深绿 | 46 深绿 | - |
37 白色 | 47 白色 | - |