Shell与shellscript学习笔记之三(变量内容的删除替代与替换)

Posted 微雷之末

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Shell与shellscript学习笔记之三(变量内容的删除替代与替换)相关的知识,希望对你有一定的参考价值。

1、 变量内容的删除与替换

 

#代表由前面开始删除,所以这里便由开始的/删起,*来代替0到无穷多个任意字符

%由后面向前删除变量内容

例如:echo ${path%:*bin}删除最有一个目录,即从:到bin为止的字符串并且是最短的

echo ${path/sbin/SBIN}:两个斜线中间的是旧字符,后面的是新字符

变量设置方式

说明

${变量#关键字}

若变量内容从头开始的数据符合“关键字”,则将符合的最短数据删除

${变量##关键字}

若变量内容从头开始的数据符合“关键字”,则将符合的最短数据删除

${变量%关键字}

若变量内容从尾向前的数据符合“关键字”,则将符合的最短数据删除

${变量%%关键字}

若变量内容从尾向前的数据符合“关键字”,则将符合的最长数据删除

${变量/旧字符串/新字符串}

若变量内容符合“旧字符串”,则第一个旧字符串会被新字符串替换

${变量//旧字符串/新字符串}

若变量内容符合“旧字符串”,则全部的旧字符串会被新字符串替换

 

2、变量的测试与内容替换

 

变量设置方式

Str没有设置

Str为空字符串

Str已设置非为空字符串

Var=${str-expr}

Var=expr

Var=

Var=$str

Var=${str:-expr}

Var=expr

Var=expr

Var=$str

Var=${str+expr}

Var=

Var=expr

Var=expr

Var=${str:+expr}

Var=

Var=

Var=expr

Var=${str=expr}

Str=expr
var=expr

str不变
var=

str不变
var=$str

Var=${str:=expr}

Str=expr
var=expr

Str=expr
var=expr

str不变
var=$str

Var=${str?expr}

expr输出至stderr

Var=

Var=str

Var=${str:?expr}

expr输出至stderr

expr输出至stderr

Var=str

以上是关于Shell与shellscript学习笔记之三(变量内容的删除替代与替换)的主要内容,如果未能解决你的问题,请参考以下文章

Linux笔记:4-Shell Script

第十三章学习 Shell Scripts

鸟哥的Linux私房菜——第十六章:学习Shell Scripts

机器学习笔记之三CART 分类与回归树

学习shell script

极简教程Linux Shell 脚本编程