|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
欢迎大家来到仓酷云论坛!字符串操纵(长度,读取,交换)
表达式寄义${#string}$string的长度${string:position}在$string中,从地位$position入手下手提取子串${string:position:length}在$string中,从地位$position入手下手提取长度为$length的子串${string#substring}从变量$string的开首,删除最短婚配$substring的子串${string##substring}从变量$string的开首,删除最长婚配$substring的子串${string%substring}从变量$string的开头,删除最短婚配$substring的子串${string%%substring}从变量$string的开头,删除最长婚配$substring的子串${string/substring/replacement}利用$replacement,来取代第一个婚配的$substring${string//substring/replacement}利用$replacement,取代一切婚配的$substring${string/#substring/replacement}假如$string的前缀婚配$substring,那末就用$replacement来取代婚配到的$substring${string/%substring/replacement}假如$string的后缀婚配$substring,那末就用$replacement来取代婚配到的$substring字符串操纵举例:- 1.长度$string=linuxeye$echo${#string}82.截取字串$string=linuxeye$echo${string:5}eye$echo${string:0:5}#默许从0入手下手,可省略,以下linux$echo${string::5}linux3.字符串删除$redis_file=c:/windows/src/redis-2.8.4.tar.gz$echo${redis_file#/}c:/windows/src/redis-2.8.4.tar.gz$echo${redis_file#*/}windows/src/redis-2.8.4.tar.gz$echo${redis_file##*/}redis-2.8.4.tar.gzecho${redis_file%/*}c:/windows/src$echo${redis_file%%/*}c:${变量名#substring正则表达式}从字符串开首入手下手装备substring,删除婚配上的表达式。${变量名%substring正则表达式}从字符串开头入手下手装备substring,删除婚配上的表达式。注重:${redis_file##*/},${redis_file%/*}分离是失掉文件名,大概目次地点最复杂***。4.字符串交换$echo${redis_file///}c:windows/src/redis-2.8.4.tar.gz$echo${redis_file////}c:windowssrcedis-2.8.4.tar.gz${变量/查找/交换值}一个"/"暗示交换第一个,"//"暗示交换一切,当查找中呈现了:"/"请加本义符"/"暗示。
复制代码 判别读取字符串值
表达式寄义${var}变量var的值,与$var不异${var-DEFAULT}假如var没有被声明,那末就以$DEFAULT作为其值${var:-DEFAULT}假如var没有被声明,大概其值为空,那末就以$DEFAULT作为其值,判别var变量是不是没有界说${var=DEFAULT}假如var没有被声明,那末就以$DEFAULT作为其值${var:=DEFAULT}假如var没有被声明,大概其值为空,那末就以$DEFAULT作为其值,判别var变量是不是没有界说,并确保变量一直有值${var+OTHER}假如var声了然,那末其值就是$OTHER,不然就为null字符串${var:+OTHER}假如var被设置了,那末其值就是$OTHER,不然就为null字符串${var?ERR_MSG}假如var没被声明,那末就打印$ERR_MSG${var:?ERR_MSG}假如var没被设置,那末就打印$ERR_MSG${!varprefix*}婚配之前一切以varprefix开首举行声明的变量${!varprefix@}婚配之前一切以varprefix开首举行声明的变量判别读取字符串值举例:- $output=${FILE:-UNSET}$echo$outputUNSET$FILE=/root/lnmp$output=${FILE:-UNSET}$echo$output/root/lnmp对变量的路径举行操纵时,最好先判别路径是不是为非空,以下path变量没有界说,则取/tmp,避免变量没界说误删除:$find${path-/tmp}-name*.tar.gz-typef|xargsrm-f
复制代码 欢迎大家来到仓酷云论坛! |
|