(2.6)Linux Shell脚本的自动化编程之变量内容的删除,替换,替代
原创
©著作权归作者所有:来自51CTO博客作者喜欢打篮球的普通人的原创作品,请联系作者获取转载授权,否则将追究法律责任
文章目录
- 1.变量内容的删除
- 2.索引及切片
- 3.变量内容的替换1
- 4.变量内容的替换2
1.变量内容的删除
(1)url=www.sina.com.cn
echo ${#url} 获取变量值的长度
15
echo ${url} 标准查看
www.sina.com.cn
echo ${url#*.} 从前往后,最短匹配
sina.com.cn
echo ${url##*.} 从前往后,最长匹配,贪婪匹配
cn
(2)url=www.sina.com.cn
echo ${url}
www.sina.com.cn
echo ${url%.*} 从后往前,最短匹配
www.sina.com
echo ${url%%.*} 从后往前,最长匹配,贪婪匹配
www
(3)url=www.sina.com.cn
echo ${url#a.}
www.sina.com.cn 错误的结果
echo ${url#*sina.}
com.cn
2.索引及切片
索引从0开始
url=www.sina.com.cn
echo ${url} 标准查看
www.sina.com.cn
echo ${url:0:5} 从第0个取,取5个
www.s
echo ${url:5:5}
ina.c
echo ${url:5} 从第5个开始
ina.com.cn
3.变量内容的替换1
url=www.sina.com.cn
echo ${url} 标准查看
www.sina.com.cn
echo ${url/sina/baidu}
www.baidu.com.cn
echo ${url/n/N}
www.siNa.com.cn
echo ${url//n/N} //表示贪婪匹配
www.siNa.com.cN
4.变量内容的替换2
(1)-的意思:凡是变量有被定义过,就不能被替代
unset var1 删除变量var1的值
echo ${var1}
echo ${var1-aaa}
aaa
var2=111
echo ${var1-bbb}
bbb
var3=
echo ${var3-ccc}
${变量名-新的变量值}
变量没有被赋值:会使用“新的变量值”替换
变量有被赋值(包括空值):不会被替代
(2):-表示:变量若是没有值或者是空值,就给你个值
unset var1
unset var2
unset var3
var2=
var3=111
echo ${var1:-aaaa}
aaaa
echo ${var2:-aaaa}
aaaa
echo ${var3:-aaaa}
111
${变量名:-新的变量值}
变量没有被赋值(包括空值):都会使用“新的变量值”替代
变量有被赋值:不会被替代
(3)其它
echo ${var3+aaa}
echo ${var3:+aaa}
echo ${var3=aaa}
echo ${var3:=aaa}
echo ${var3?aaa}
echo ${var3:?aaa}