(2.6)Linux Shell脚本的自动化编程之变量内容的删除,替换,替代

Shell变量操作详解
本文深入讲解了Shell脚本中变量的高级操作技巧,包括变量内容的删除、索引及切片、变量内容的替换等核心内容。通过实例演示了如何使用特定语法来修改或提取变量中的字符串,适用于需要掌握Shell脚本变量管理的开发者。

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}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

喜欢打篮球的普通人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值