变量替换 字符串处理

变量替换
非空 空 不存在

Var=${Str-Expr} Str 空 Expr

Var=${Str:-Expr} Str Expr Expr

不存在至stderr
Var=${Str?Expr} Str 空 Expr(stderr)

Var=${Str:?Expr} Str Expr(stderr) Expr(stderr)

不存在 被赋值
Var=${Str=Expr} Str 空 Expr (Str=Expr)

Var=${Str:=Expr} Str Expr(stderr) Expr (Str=Expr)

存在转换
Var=${Str+Expr} Expr Expr 空

Var=${Str:+Expr} Expr 空 空

存在 不存在
非空 空
– Str Str Expr Expr
? Str Str Expr(stderr) Expr(stderr)
= Str Str Expr (Str=Expr) Expr (Str=Expr)

+ Expr Expr Str Str

字符串处理
${#Var} /* Var长度 */

字符串切片
:a 1..a[… ${Var:a}
: -a …[a..1 ${Var:a:b}
${Var:a:-b}
空 …]
:b …[b]… ${Var: -a}
:-b …]b..1 ${Var: -a:b}
${Var: -a:-b}

截取
${Var#*W} /* 1..W] 删除 */

${Var##*W} /* 贪婪模式 */

${Var%W*} /* [W..1 删除 */

${Var%%W*} /* 贪婪模式 */

删除 替换

${Var/Pat} ${Var/Pat/Sub} /* 第一个 匹配到 */
${Var//Pat} ${Var//Pat/Sub} /* 所有 */
${Var/#Pat} ${Var/#Pat/Sub} /* 行首 */
${Var/%Pat} ${Var/%Pat/Sub} /* 行尾 */

大小写
${Var^^} /* 所有大写 */
${Var,,} /* 所有小写 */

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/103043

(3)
倪潇洒倪潇洒
上一篇 2018-07-15 17:19
下一篇 2018-07-15 21:03

相关推荐

  • Week01

    第一周作业

    2018-05-12
  • web服务器(LAMP)通过DNS轮询功能和nfs共享实现负载均衡

    web服务器(LAMP)通过DNS轮询功能和nfs共享实现负载均衡,部署discuz论坛 拓扑思路: 服务器1:mariadb+nfs;172.20.120.40 服务器2:apache+php-fpm;172.20.120.41 服务器3:apache+bind;172.20.120.42   服务器1:mariadb+nfs;172.20.12…

    Linux笔记 2018-06-04
  • 开始linux

    基础命令

    Linux笔记 2018-05-26
  • 第二周作业

    第二周

    Linux笔记 2018-05-20
  • Linux 基础

    Linux 基础 一.计算机组成及其功能 当今计算机采用冯·诺依曼架构,必须具备的五大基本组成部件,包括: 1.输入数据和程序的输入设备 2.记忆程序和数据的存储器 3.完成数据加工处理的运算器 4.控制程序执行的控制器 5.输出处理结果的输出设备 计算机基本组成结构图 二.Linux的发行版,不同发行版之间的联系与区别 1.Linux 严格来说Linux是…

    2018-05-12
  • 实验:实现互联网的DNS架构

    实现互联网DNS分布式架构,当客户端访问时,经各级自建DNS解析,最终指向Web1或者Web2服务器httpd服务

    2018-06-05