变量替换总结
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]#