变量替换 字符串处理

变量替换
非空 空 不存在

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

相关推荐

  • CentOS7.4环境安装python

    Linux学习过程中的python环境搭建

    2018-06-05
  • 课后实操

    1.怎么查看设备UUID? [root@centos6 ~]#blkid /dev/sda1: UUID=”625dc9a7-69cd-478f-892c-0d4a664b72fe” TYPE=”ext4″ /dev/sda2: UUID=”070d3bc7-773e-4d27-bf0e-81221…

    Linux笔记 2018-04-23
  • Docker容器技术之Dockerfile

    什么是dockerfile?
    dockerfile可以理解为构建docker images的源码(原料),docker可以通过读取一个dockerfile来自动构建docker镜像

    2018-08-06
  • Linux上的文件管理类命令

    一、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。(1)目录管理命令——ls:列出指定目录下的内容格式:ls [OPTION]… [FILE]…-a:显示所有文件包括隐藏文件-A:显示除.和..之外的所有文件-l,–long:显示文件的详细属性信息-h:对文件大小进行单位换算,可能影响精度-d:查…

    Linux笔记 2018-05-19
  • 文本处理工具、用户及权限管理

    ##### 命令tr “`选项:-c 取字符补集-d 删除字符-s 把连续重复的字符以单独一个字符表示-t 将第一个字符集对应字符转化为第二字符集对应的字符例:[root@centos6 ~]#tr ‘a-f’ ‘A-Z’abcdefghABCDEFghtr 与tr -t 的区别[root@cent…

    2018-04-08
  • Linux中用户、组和权限

    用户user Linux用户:Username/UID 管理员:root,0 普通用户: 系统用户:1-499 交互式登录:登录用户500+,1000+9(CentOs7) 组group  Linux组:Groupname/GID 管理员组:root,0(私有组) 普通组:系统组:1-499,1-999;普通组:500+,1000+ Linux组的类别:1.…

    Linux笔记 2018-04-05