shell变量的高级操作实例
shell变量的高级操作实例 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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- Angular 2 – 通过路由器链接将对象从一个组件发送到另一个
- bootstrapSwitch开关组件在模态框加载问题
- shell编程基础
- angularjs – 在指令链接函数的transclude函数中,如何使用“
- 为什么Scala编译器在2.10中对自我类型有更严格的要求?
- Bootstrap 实现文件的本地拖拽上传
- bootstrap+jq+underscore+ionic+react+angularjs
- SSM(四)WebService入门详解
- angularjs – $rootScope.$new()和$rootScope.$new(true)之
- webservice快速入门-使用JAX-WS注解的方式快速搭建ws服务端