shell之-变量的删除与替换
1 从前往后删除变量内容
#*.
##*.
url=www.sina.com.cn
echo ${url} # 标准查看
echo ${#url} # 查看变量长度
#将url从前往后删除到www.,但是变量的值是没有变化的
echo ${url#www.}
> sina.com.cn
#从前往后删除到第一个.
echo ${url#*.}
#从前往后删除,将所有的.之前的全部删除
echo ${url##*.}
2 从后往前删除变量内容
echo ${url%.cn}
> www.sina.com
echo ${url%.*}
> www.sina.com
#从后往前将所有的.之前的字符串全部删除
echo ${url%%.*}
> www
3 截取变量的部分
echo ${url:0:5}
> www.s # 从0坐标开始取5个字符
echo ${url:0} #从0开始取变量的所有之后的内容
>www.sina.com.cn
4 变量内容的替换
echo ${url/sina/baidu}
>www.baidu.com.cn
#将所有n都替换成N
echo ${url//n/N}
>www.siNa.com.cN
5 给不存在变量设置默认值
- +
- :+
- =
- :=
- ?
- :?
- -
- :-
unset var1
# 当变量已经存在,或者已经被定义过是不能替换的
echo $var1
>
echo ${var1-aaaaa}
echo ${var1:-aaaaa}
>aaaaa