1. 统计字符串长度

${#var}

var="hello world"
echo ${#var} # 11

2. 字符串切片

  • ${var:n:m}: 从 [n, m) 的字符内容
  • ${var:n}: 从 n 之后的内容, 好像会忽略开头的空格
  • ${var: -1}: 获取最后一个字符, 记得: 之后的空格不能少
var="hello world"
echo ${var:0:5} # hello
echo ${var:5} # world
echo ${var: -1} # d

3. 替换字符串

${var/ori/rep}

var="hello world"
echo ${var/wor/WOR} # hello WORld

4. 截取字符串

这个没懂

name="portal:80"
echo ${name%:*} # portal
echo ${name#*:} # 80

5. 变量状态赋值

var=
# 如果 var 没有值, 则返回 123
echo ${var:-'123'} # 123
# 如果 var 没有值, 则将 123 赋予 var
echo ${var:='123'} # 123
echo $var # 123