shell 字符串截取和默认值设置

2018-01-02  本文已影响0人  碎玉长青

字符串截取

格式:${变量名:起始位置:截取长度}
```
示例:
  ${file:0:5}       从第1个字符开始,截取5个字符
  ${file::5}        从第1个字符开始,截取5个字符
  ${file:5:5}       从第6个字符开始,截取5个字符
  ${file:5}         从第6个字符开始,截取后面所有的字符
  ${file:0-5}       从倒数第5个字符开始,截取后面所有的字符
  ${file:0-6:3}     从倒数第6个字符开始,截取之后的3个字符

默认值相关

1 场景一:
变量a如果有内容,那么就输出a的变量值
变量a如果没有内容,那么就输出默认的内容

格式:
      ${变量名:-默认值}
套餐示例:
      如果我输入的参数为空,那么输出内容是 "您选择的套餐是: 套餐 1"
      如果我输入的参数为n,那么输出内容是 "您选择的套餐是: 套餐 n"    
  #!/bin/bash
  # 套餐选择演示
  a="$1"
  echo "您选择的套餐是: 套餐 ${a:-1}"

2 场景二:
无论变量a是否有内容,都输出默认值

格式:
    ${变量名+默认值}
场景示例:
    不管我说国家法定结婚年龄是 多少岁,都输出 国家法定结婚年龄(男性)是 22 岁
#!/bin/bash
# 默认值演示示例二
a="$1"
echo "国家法定结婚年龄(男性)是 ${a+22} 岁"
上一篇 下一篇

猜你喜欢

热点阅读