shell 变量的高级用法
Posted crazymagic
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell 变量的高级用法相关的知识,希望对你有一定的参考价值。
变量删除和替换
案例:从头开始匹配,将符合最短的数据删除 (#)
variable_1="I love you, Do you love me" echo $variable_1 variable_2=$variable_1#*ov echo $variable_2
案例:从头开始匹配,将复合最短的数据删除(##)
varible_3=$variable_1##*ov echo $varible_3
案例:替换字符串,只替换第一次匹配成功的(/)
echo $PATH var6=$PATH/bin/BIN echo $var6
案例:替换字符串,符合条件的全部替换 (//)
var7=$PATH//bin/BIN echo $var7
变量测试
简单举例(用的比较少)
var=$str-expr
如果变量 str 没有定义,那么var=expr
如果变量 str的字符串中有值,那么 变量 var 的值就等于 str变量的值
字符串处理
计算字符串的长度
案例1
var="hello world" len=$#var echo $len
案例2
var1="zhang biao" len=`expr length "$var1"` echo $len
获取字串在字符串中的索引位置 (把字串拆分成一个个的字串,最先匹配到的第一个就会返回)
案例
计算字串的长度 (只能从头开始匹配,用的不多)
例子:找不到返回 0,不是从头开始匹配
var="quickstart is a app" sub_len=`expr match "$var1" app` echo $sub_len
从头开始匹配
sub_len=`expr match "$var" quick*` echo $sub_len
sub_len=`expr match "$var" quick.*` echo $sub_len
抽取字串
以上是关于shell 变量的高级用法的主要内容,如果未能解决你的问题,请参考以下文章