变量替换 字符串处理

变量替换
非空 空 不存在

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

相关推荐

  • 学习笔记(14)

    学习笔记(14)

    Linux笔记 2018-04-30
  • 计算机的组成及功能

    1. 计算机是由硬件系统及软件系统组成 1.1 硬件系统:CPU、存储器、输入及输出设备; CPU:包括运算器及控制器;运算器完成算数及逻辑运算,而控制器则实现取指令和分析指令。 存储器:包括内存、外存;内存主要负责存储缓存数据,外村主要负责存储本地数据。 输入设备:键盘、鼠标等标准输入设备。 输出设备:显示器、打印机等。 1.2 软件系统:系统软件及应用软…

    Linux笔记 2018-05-12
  • Linux 用户及权限管理(未完)

    1、查看(登录)用户名称及所启动的进程 A、使用w命令查看登录用户正在使用的进程信息 w命令用于显示已经登录系统的用户的名称,以及他们正在做的事。该命令所使用的信息来源于/var/run/utmp文件。w命令输出的信息包括: 用户名称 用户的机器名称或tty号 远程主机地址 用户登录系统的时间 空闲时间(作用不大) 附加到tty(终端)的进程所用的时间(JC…

    Linux笔记 2018-05-28
  • if语句、for语句练习

    单分支之if语句 语法: if测试条件1;then arg1 … else arg2 … fi 多分支if语句   语法: if 测试条件1 ;then arg1 … elif 测试条件2 ;then arg2 … elif 测试条件3 ;then arg3 … else arg4 fi …

    2018-04-15