/usr/local/bin:/usr/bin:/usr/local/
SBIN
:/usr/sbin:/home/dmtsai/.local/bin:/home/dmtsai/bin
#
这个
部分就容易理½的多了!
关键词
在于那
两个
斜
线
,
两
斜
线
中
间
的是
旧
字符串
#
后面的是新字符串,所以
½
果就
会
出
现
如上述的特殊字体部分
啰
!
[dmtsai@study ~]$
echo ${path//sbin/SBIN}
/usr/local/bin:/usr/bin:/usr/local/
SBIN
:/usr/
SBIN
:/home/dmtsai/.local/bin:/home/dmtsai/bin
#
如果是
两条
斜
线
,那么就
变
成所有符合的
内
容都
会
被取代喔!
我们½这部份作个总½说明一下:
变量设定方式
说明
${
变量
#
关键词
}
${
变量
##
关键词
}
若变量内容从头开始的数据符合『关键词』,则½符合的最短数据删除
若变量内容从头开始的数据符合『关键词』,则½符合的最长数据删除
${
变量
%
关键词
}
${
变量
%%
关键词
}
若变量内容从尾向前的数据符合『关键词』,则½符合的最短数据删除
若变量内容从尾向前的数据符合『关键词』,则½符合的最长数据删除
${
变量
/
旧字符串
/
新字符串
}
${
变量
//
旧字符串
/
新字符串
}
若变量内容符合『旧字符串』则『第一个旧字符串会被新字符串取代』
若变量内容符合『旧字符串』则『全部的旧字符串会被新字符串取代』
.
变量的测试与内容替换
在某些时刻我们常常需要『判断』某个变量是否存在,若变量存在则使用既有的设定,若变量不存在
则给予一个常用的设定。
我们举底下的例子来说明好了,看看能不能½容易被你所理½呢!
范例一:
测试
一下是否存在
username
这个变
量,若不存在
则给
予
username
内
容
为
root
[dmtsai@study ~]$
echo ${username}
<==
由于出
现
空白,所以
username
可能不存在,也可能是空字符串
[dmtsai@study ~]$
username=${username
-
root}
[dmtsai@study ~]$
echo ${username}
root
<==
因
为
username
没
有
设
定,所以主
动给
予名
为
root
的
内
容。
[dmtsai@study ~]$
username="vbird tsai"
<==
主
动设
定
username
的
内
容
[dmtsai@study ~]$
username=${username
-
root}
[dmtsai@study ~]$
echo ${username}
vbird tsai
<==
因
为
username
已
经设
定了,所以使用
旧
有的
设
定而不以
root
取代
在上面的范例中,重点在于减号『
-
』后面½的关键词!基本上你可以这样理½:
new_var
=${old_var
-
content}
新的
变
量,主要用
来
取代
旧变
量。新
旧变
量名
称
其
实
常常是一
样
的
new_var=
${
old_var
-
content
}