变量替换

变量替换总结

  1、${变量#匹配规则}        #从头开始匹配,最短删除

  2、${变量##匹配规则}        #从头开始匹配,最长删除

 1 [root@izbp1fpzvxfxkv38fq1vrhz shell100]# variable_1="I love you, Do you love me"
 2 [root@izbp1fpzvxfxkv38fq1vrhz shell100]# echo $var
 3 $var1        $variable_1  
 4 [root@izbp1fpzvxfxkv38fq1vrhz shell100]# echo $variable_1 
 5 I love you, Do you love me
 6 [root@izbp1fpzvxfxkv38fq1vrhz shell100]# var1 = ${variable_1#*ov}
 7 -bash: var1: command not found
 8 [root@izbp1fpzvxfxkv38fq1vrhz shell100]# var1=${variable_1#*ov}
 9 [root@izbp1fpzvxfxkv38fq1vrhz shell100]# echo $var1
10 e you, Do you love me
11 [root@izbp1fpzvxfxkv38fq1vrhz shell100]# var2=${variable_1##*ov}
12 [root@izbp1fpzvxfxkv38fq1vrhz shell100]# echo $var2
13 e me
14 [root@izbp1fpzvxfxkv38fq1vrhz shell100]# 

  3、${变量%匹配规则}          #从尾开始匹配,最短删除

  4、${变量%%匹配规则}          #从尾开始匹配,最长删除

1 [root@izbp1fpzvxfxkv38fq1vrhz shell100]# var_3=${variable_1%ov*}     从尾部开始匹配
2 [root@izbp1fpzvxfxkv38fq1vrhz shell100]# echo $var_3 
3 I love you, Do you l
4 [root@izbp1fpzvxfxkv38fq1vrhz shell100]# var_4=${variable_1%%ov*} 
5 [root@izbp1fpzvxfxkv38fq1vrhz shell100]# echo $var_4
6 I l

  

  5、${变量/旧字符串/新字符串}      #替换变量内的旧字符串为新的字符串,只替换一个

  6、${变量//旧字符串/新字符串}      #替换变量内的旧字符串为新的字符串,全部替换

1 [root@izbp1fpzvxfxkv38fq1vrhz shell100]# echo $PATH
2 /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
3 [root@izbp1fpzvxfxkv38fq1vrhz shell100]# var5=${PATH/bin/BIN}
4 [root@izbp1fpzvxfxkv38fq1vrhz shell100]# echo $var5
5 /usr/local/sBIN:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
6 [root@izbp1fpzvxfxkv38fq1vrhz shell100]# var6=${PATH//bin/BIN}
7 [root@izbp1fpzvxfxkv38fq1vrhz shell100]# echo $var6
8 /usr/local/sBIN:/usr/local/BIN:/usr/sBIN:/usr/BIN:/root/BIN
9 [root@izbp1fpzvxfxkv38fq1vrhz shell100]# 
原文地址:https://www.cnblogs.com/sisul/p/11411101.html