url=www.computergame.com #定义一个变量
echo ${#url} #变量字符串数量统计
20
echo ${url:0:10} #变量中字符串的截取,变量的切片操作
www.comput
echo ${url:5} #变量切片操作,不指定切片数量,默认取所有
computergame.com
echo ${url#www.} #变量内容的删除,#代表从前往后删
computergame.com
echo ${url#*.} #删除到第一个匹配的.结束
computergame.com
echo ${url##*.} #变量内容的删除,##代表贪婪匹配,删除到最后一个.结束
com
echo ${url%.com} #变量内容的删除,%代表从后往前删除
www.computergame
echo ${url%.*} #从后往前删,删除到匹配的第一个.结束
www.computergame
echo ${url%%.*} #从后往前删,删除到匹配的最后一个.结束,%%代表贪婪匹配
www
echo ${url/game/GAME} #变量内容的替换,将game替换成GAME
www.computerGAME.com
echo ${url/m/M} #变量的替换,/代表替换,将m替换成M,默认只替换匹配到的第一个m
www.coMputergame.com
echo ${url//m/M} #变量的替换,//代表贪婪匹配,替换所有的m为M
www.coMputergaMe.coM
unset var1
echo ${var1-aaa} #变量的替代,-代表变量内容的替代;变量为空时替代为指定的变量内容
aaa
var2=bbbb
echo ${var2-xxxxxxxxxxx} #变量内容的替代,变量已经被赋值,包括空值,变量内容都不会被替代。
bbbb
var3=ccccc
echo ${var3:-xxxxxxxxxx} #变量内容的替代,变量已经被赋值,变量内容不会被i替代。
ccccc
var4=
echo ${var4:-xxxxxxxxx} #变量内容的替代,变量已被赋值,但是变量值为空,则会被替代。
xxxxxxxxx
- :-作用:如何给变量设置默认值
小结:${变量名-新变量值} 变量没有被赋值,使用"新变量值"替代;变量有被赋值(包括空值),不会被替代。
${变量名:-新变量值} 变量没有被赋值,包括空值,使用"新变量值"替代;变量有被赋值,不会被i替代。
+ :+ = := ? :?可以继续尝试测试