加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

bash变量中字符串的操作

发布时间:2020-12-15 09:14:22 所属栏目:安全 来源:网络整理
导读:1.字符串的切片 ${#VAR}:返回字符类型变量的变量值的长度 ${VAR:offset}:返回字符型变量中第"offset"位置之后的内容,不包括第offset位,offset取值范围为:0-$[$[#VAR]-1] ${VAR:offset:number}:返回字符型变量中第"offset"个字符后开始长度为number的字符

1.字符串的切片

${#VAR}:返回字符类型变量的变量值的长度

${VAR:offset}:返回字符型变量中第"offset"位置之后的内容,不包括第offset位,offset取值范围为:0-$[$[#VAR]-1]

${VAR:offset:number}:返回字符型变量中第"offset"个字符后开始长度为number的字符部分

${VAR: -lenth}:取字符型变量字符串最右侧的"length"个字符(注意空格)


示例:


2.基于模式(PATTERN)来取字符串

${VER#*PATTERN} :自左而右,查找VAR变量所储存的字符串中,第一次被PATTERN匹配的字符,删除从字符串开始到PATTERN匹配的字符之间的所有字符

${VAR##*PATTERN}:自左而右,查找VAR变量所储存的字符串中,所有被PATTERN匹配的字符,删除从字符串开始到最后一次PATTERN匹配的字符之间的所有字符

${VAR%PATTERN*}:自右而左,查找VAR变量所储存的字符串中,第一次被PATTERN匹配的字符,删除从字符串结尾到PATTERN匹配的字符之间的所有字符

${VAR%%PATTERN*}:自右而左,查找VAR变量所储存的字符串中,所有被PATTERN匹配的字符,删除从字符串结尾到最后一次PATTERN匹配的字符之间的所有字符


示例:


3.查找替换

${VAR/PATTERN/SUBSTRING}:在VAR变量中,自左而右查找第一个被PATTERN匹配的内容并替换成SUBSTRING

${VAR//PATTERN/SUBSTRING}:在VAR变量中,自左而右查找所有被PATTERN匹配的内容并替换成SUBSTRING

${VAR/#PATTERN/SUBSTRING}: 在VAR变量中查找行首匹配PATTERN的内容,将匹配的结果替换成SUBSTRING

${VAR/%PATTERN/SUBSTRING}: 在VAR变量中查找行尾匹配PATTERN的内容,将匹配的结果替换成SUBSTRING


示例:


4.查找删除

${VAR/PATTERN}:从左而右第一个

${VAR//PATTERN}:从左而右所有

${VAR/#PATTERN}:从行首

${VAR/%PATTERN}:从行尾


示例:


5.字符串大小写转换:

${VAR^^}:将变量当中的所有的小写字母转换成大写字母

${VAR,}:大写转换为小写


示例:


6.变量的赋值

${VAR:-value}:如果变量VAR为空值或者变量未被定义,那么直接返回value中的值,否则返回变量中的值

${VAR:+value}:如果变量VAR已经定义且不为空,则返回value的值

${VAR:=value}:如果VAR为空值或变量未被定义,那么直接返回value中的值,并且将value的值赋给变量VAR;否则返回变量VAR的值


示例:


7.变量的间接引用

如果变量A的值为变量B的名,从A引用B的值的方法,称为变量的间接引用,如

VAR1=VAR2,VAR2=hellolink


bash提供了这样的间接变量的引用方法:

eval MYVAR=$$VAR1


示例:

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读