首页 > 系统服务 > 详细

Linux 变量替换及测试

时间:2019-03-19 21:10:32      阅读:133      评论:0      收藏:0      [点我收藏+]

声明:$ 后面跟linux可执行命令

一、变量替换

                  语法                      说明
${变量名#匹配规则} 从变量的开头进行规则匹配,将符合最短的数据删除
${变量名##匹配规则} 从变量的开头进行规则匹配,将符合最长的数据删除
${变量名%匹配规则} 从变量的尾部进行规则匹配,将符合最短的数据删除
${变量名%%匹配规则} 从变量的尾部进行规则匹配,将符合最长的数据删除
${变量名/旧字符串/新字符串} 变量内容包含旧字符串,则第一个旧字符串被新字符串取代
${变量名/旧字符串/新字符串} 变量内容包含旧字符串,则全部的旧字符串被新字符串取代

 

 

 

 

 

 

 

 

例1 :

定义变量:$ var_1="I love you, Do you love me"

输出变量:$ echo $var_1

打印结果:I love you, Do you love me

技术分享图片

测试1:从头匹配最短删除

  $ var_11=${var_1#*ove}     // * 表示匹配任意字符

  $ echo $var_11

  打印结果:you, Do you love me    // 注意开头的空格被去掉了。

测试2: 从头匹配最长删除(贪婪模式)

  $ var_12=${var_1##*ove}     // * 表示匹配任意字符

  $ echo $var_12

  打印结果:me   // 注意开头的空格被去掉了。

测试3: 从后匹配最短删除

  $ var_13=${var_1%ov*} 

  $ echo $var_13

  打印结果:I love you, Do you l

测试4: 从后匹配最长删除(贪婪模式)

  $ var_14=${var_1%%ov*}

  $ echo $var_14

  打印结果:I l   // 大写的 i 和 小写的 L

测试5: 替换第一个旧字符串

  $ var_15=${var_1/love/LOVE}

  $ echo $var_15

  打印结果:I LOVE you, Do you love me

测试6: 替换全部的旧字符串

  $ var_16=${var_1//love/LOVE}

  $ echo $var_16

  打印结果:I LOVE you, Do you LOVE me

二、变量测试  

技术分享图片

变量测试不常用,实际编程中 if else 就可以取代变量测试。上面的 str没有配置 == str没有定义。expr是字符串,并不是变量。

举个例子

对于 var=${str-expr} :如果 str 没有配置,则 var=expr; 如果 str="",则 var=""; 如果 str 定义了且不为空,则 var=$str

  第一种情况:  

           技术分享图片

  第二种情况:

     技术分享图片

  第三种情况:

     技术分享图片

 

忽有所思:有疑惑的地方还是需要去测试、去验证,否则这个问题在心里永远是一个谜。

 

Linux 变量替换及测试

原文:https://www.cnblogs.com/shenqidu/p/10560648.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!