开发日记-20190608 关键词 读书笔记《鸟哥的Linux私房菜-基础学习篇》

Preface

玩物丧志,玩物丧志。

一个端午的假期,还真的是让我休闲到了极点,呐,很多时候我真的在想,是不是一个人日常生活中存在太多诱惑,所以才在脑子里塞满了杂七杂八的东西,最后导致自己不能很好地思考问题。

当一个小孩,不能抵制住诱惑,别人都会指责他,让他把错误全部归结到自己身上,比如说他意志力不够强啊,等等。但是你要知道,所有游戏或者电商公司都在竭尽全力去分析人类的心理,如果都做到这个程度了,你们还不上套,那说明别人这个钱白花了= =


Content

11.2.8 变量内容的删除,替代与替换

渐渐有点明白了,对于命令,很多其实就是对于字符串的处理,而且一般为顺序的处理形式。所以对于命令的设置和定义,必须要避免歧义。

变量设置方式 说明
${变量#关键字} 若变量内容从头开始的数据符合“关键字”,则将符合的最短数据删除
${变量#关键字} 若变量内容从头开始的数据符合“关键字”,则将符合的最长数据删除
${变量%关键字} 若变量内容从尾向前的数据符合“关键字”,则将符合的最短数据删除
${变量%%关键字} 若变量内容从尾向前的数据符合“关键字”,则将符合的最长数据删除
${变量/旧关键字/新关键字} 若变量内容符合“旧关键字”,则第一个旧字符串会被新字符串替换
${变量//旧关键字/新关键字} 若变量内容符合“旧关键字”,则所有旧字符串会被新字符串替换

对于变量的设置和输出

变量设置方式 str没有设置 str为空字符串 str已经设置为非空字符串
var=${str-expr} var=expr var=$str 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 str不变,var=$str
var=${str:=expr} str=expr,var=expr str=expr,var=expr str不变,var=$str
var=${str?expr} expr输出至stderr var=$str var=$str
var=${str:?expr} expr输出至stderr expr输出至stderr var=$str

其实今天虽然偷懒了,但是至少把11.4之前的内容都看完了。
前面这个表格虽然看起来很清晰,但是还是希望花点时间找找规律。《鸟哥的Linux私房菜》这本书感觉在这里把情况搞复杂了,这里我这样整理感觉更清晰。

  1. “:”符号对str没有设置str已经设置为非空字符串的情况并没有影响
  2. 所有符号的设定都是按照左下和右上对半分开的,所以这样理解起来也很方便

Daily Task

终有一天,你会老去,而我,将会加冕为王。

猜你喜欢

转载自blog.csdn.net/qq_31433709/article/details/91348998
今日推荐