变量替换 字符串处理

变量替换
非空 空 不存在

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

相关推荐

  • 脚本相关

    变量 echo $name 与 echo “$name” 假如变量是读取文件,前者会自动缩进成一行,后者保留原有格式 (umask=022,mkdir /f1)括号相当于开启一个临时子进程,能读取当前shall的变量等信息,但是进程号不变,命令结束后恢复刚才状态 局部变量,环境变量,只读变量(常量),位置变量,数组 局部变量:只在当前…

    2018-05-14
  • 交换分区swap管理及特殊介质的使用

    本节索引 一、交换分区swap管理 二、Linux系统光盘使用 三、Linux系统USB介质使用 四、强大的dd工具 一、交换分区swap管理: 交换分区是系统RAM的补充,相当于Windows系统中的虚拟内存,当系统RAM不够用的时候将使用交换 分区来代替内存使用。 基本设置包括: 创建交换分区或者文件 使用mkswap写入特殊签名 在/etc/fstab…

    2018-04-25
  • 马哥教育– 第一周作业

    一、描述计算机的组成及其功能。 计算机由运算器,控制器,存储器,输入设备和输出设备五大部分组成。 运算器的功能是用于完成算术运算、逻辑运算。负责计算机执行的所有数学与逻辑功能。 控制器的功能是主要负责对程序所执行的指令进行分析,并协调计算机各部件进行工作计算机的所有其他部件。 存储器的功能是用于储存信息的设备,通常是将信息数字化后再利用电、磁、光学等方式的媒…

    2018-05-12
  • RAID

    RAID技术 stripe:条带。将连续的数据切分成相同大小的数据块,把每段数据块分别写入到不同磁盘上的方法。 条带技术可以增加硬盘的读写性能,但是不支持数据容错。最少使用2块盘做条带。磁盘利用率为100% mirror:镜像。镜像技术是将n(2的倍数)块磁盘上的每个数据位同步成相同的数据位。在写数据时,写入2 份数据。镜像技术有容错功能,但是硬盘的写性能有…

    Linux笔记 2018-04-25