我们知道两种对变量取胜的方法:
# g. h3 ]4 k2 k" a' q echo $HOME echo ${HOME}
& O$ a# `; R3 R3 m9 T" @6 O- ^ 在echo ${variable}的方法中,还可以对变量的内容进行修改,只要加上一些字符标志,后面再接着使用比对字符串,就可以修改变量的内容了。假设变量名为:vbird ,并且内容为/home/vbird/testing/testing.x.sh
- q$ g. f8 ~! U7 R1 _6 d ◆1 、完整呈现vbird 这个变量:4 n- D6 y- I7 o( f1 R
vbird="/home/vbird/testing/testing.x.sh"
6 E; ^- m* x- F0 z7 @5 B- E d. e echo ${vbird}: t* y5 }" k; O1 `8 N. [# e
/home/vbird/testing/testing.x.sh6 c. g, p, Z2 ]. _/ d3 ?0 X% _
◆2 、在vbird 变量中,从最前面开始比对
5 _* G' R6 H$ e" O+ | 若开头为 /,则删除两个/ 之间的所有数据,即 /*/
9 K7 x- V+ X# h% A1 l" s echo ${vbird##/*/}
1 e2 p+ r% `; ~4 i, n* D# i testing.x.sh——删除了/home/vbird/testing/# R( S* {; Z0 `: @# q
echo ${vbird#/*/}" H1 u8 F8 J* |, E
vbird/testing/testing.x.sh——只删除了/home/而已
# c- y7 m* s( {: i: g. Q ------在这两个例子中,变量名后面如果接了两个##,表示在##后面的字符串取“最长的”那一段;如果只有一个#,表示取“最小的”那一段。(自注:“最小的那一段“表示从左到右离第一个字符最近并且和第一个字符相同的字符之间的内容,最长则反之) |