您的位置:首页 > 运维架构 > Shell

【linux学习笔记】 bash学习之变量内容的删除、取代与替换

2017-03-15 17:40 399 查看
1、变量可以通过简单的动作来将变量中的内容进行微调。



例子:

path=$PATH

echo $path (/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin: /usr/sbin:/usr/bin:/root/bin)

假设把前两个带kerberos目录的目录删掉,执行下边语句即可

echo ${path#/*kerberos/bin:}

(/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin)

实际中没有删除线。

2、如果值存在,则保留原来的值,如果不存在,则设置默认值

root@iZwz9gjh3pbz2k2hin7cg8Z:~# echo $username

>

<==由亍出现空白,所以 username 可能丌存在,也可能是空字符串

root@iZwz9gjh3pbz2k2hin7cg8Z:~# username=${username-root}

root@iZwz9gjh3pbz2k2hin7cg8Z:~# echo $username

root

<==因为 username 没有讴定,所以主劢给予名为 root 癿内容。

root@iZwz9gjh3pbz2k2hin7cg8Z:~# username=”myname”

root@iZwz9gjh3pbz2k2hin7cg8Z:~# username=${username-root}

root@iZwz9gjh3pbz2k2hin7cg8Z:~# echo $username

myname

因为username已经设定,所以username使用原有设定而不被root取代。

具体规则见下图:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux bash