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

shell变量的高级操作实例

发布时间:2020-12-15 16:28:04 所属栏目:安全 来源:网络整理
导读:shell变量的高级操作实例 650) this.width=650;" src="http://img.jb51.cc/vcimg/static/loading.png" title="下载.png" alt="wKioL1mdFw6Q9HRzAAAa4JWan34154.png" src="https://s2.51cto.com/wyfs02/M00/9F/73/wKioL1mdFw6Q9HRzAAAa4JWan34154.png"> 1 字

shell变量的高级操作实例

wKioL1mdFw6Q9HRzAAAa4JWan34154.png

1 字符串切片

格式:${variable:start:length}

作用:切取变量中指定长度的字符串,并指定起始位置。

name="michaelhu"
echo${name:2:3}
cha

2 计算字符串的长度

格式1:${#:variable}

格式2:expr length "$variable"

[root@python~]#echo${#name}
10
[root@python~]#exprlength"$name"
10

3 删除变量中指定的样式

格式1:${variable#style}

作用:由左边开始,删除第一个匹配到的样式

filename="/usr/sbin/ntpdate"
echo${filename#/*/}
sbin/ntpdate

格式2: ${variale##style}

作用:由左开始,匹配整个字符串中的样式,删除匹配到最长的样式

filename="/usr/sbin/ntpdate"
echo${filename##/*/}
ntpdate

格式3:${variale%style}

作用:由右边开始,删除第一个匹配到的样式

filename="/usr/sbin/ntpdate"
echo${filename%/*}
/usr/sbin

格式4: ${variable%%style}

作用:由右边开始,匹配整个字符串中的样式,删除匹配到的最长的字符串

domainname="www.huwho.com"
echo${domainname%%.*}
www

4 替换变量中字符串

格式1:${variable/style/replace}

作用:替换第一个匹配到的字符串

name="michaelhu"
echo${name/michael/neo}
neohu

格式2: ${variable//style/replace}

作用:替换匹配到的全部字符串

name="michaelmichaelhu"
echo${name//michael/sternberg}
sternbergsternberghu

5 删除变量中的字符串

格式1:${variable/style/}

作用:自左匹配,删除第一个匹配到的字符串

echo${name/michael/}
michaelhu

格式2:${variable//style/}

作用:删除匹配到的所有字符串

echo${name//michael/}
hu

6 测试存在性及空值

格式1:${test_variable-value}

作用:若变量不存在,则符合判断,传回默认值

[root@python~]#unsetname
[root@python~]#echo${name-"kong"}
kong

格式2: ${test_variable:=value}

作用:若变量不存在或其值为空,则符合判断,传回默认值

[root@python~]#test=""
[root@python~]#echo${test:="true_kong"}
true_kong

格式3:${test_variable:?"message"}

作用:测试变量是否为空或不存在,提示错误信息

[root@python~]#test=""
[root@python~]#echo${test:?"sorryempty"}
-bash:test:sorryempty

格式4:${test_variable:+"mesage"}

作用:测试变量是否存在且非空,则符合判断条件

[root@python~]#test="funy"
[root@python~]#echo${test:+"true"}
true

(编辑:李大同)

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

    推荐文章
      热点阅读