Shell变量子串介绍

1、${parameter}    说明:返回变量$parameter的内容

举例:

[beifeng@hadoop1-senior yanls]$ parameter="I Love Hadoop"

[beifeng@hadoop1-senior yanls]$ echo "${parameter}"

I Love Hadoop

2、${#parameter}  说明:返回变量$parameter内容的长度(按字符),也适用于特殊变量

举例:

[beifeng@hadoop1-senior yanls]$ echo "${#parameter}"

13

3、${parameter:offset}    说明:在变量${parameter}中,从位置offset之后开始提取子串到结尾

举例:

[beifeng@hadoop1-senior yanls]$ echo "${parameter:2}"

Love Hadoop

4、${parameter:offset:length}  说明:在变量${parameter}中,从位置offset之后开始提取长度为length的子串

举例:

[beifeng@hadoop1-senior yanls]$ echo "${parameter:2:4}"

Love

5、${parameter#word}    说明:从变量${parameter}开头开始删除最短匹配的word子串

举例:

[beifeng@hadoop1-senior yanls]$ parameter="abcABCabcABC"

[beifeng@hadoop1-senior yanls]$ echo ${parameter#a*c}

ABCabcABC


6、${parameter##word}    说明:从变量${parameter}开头开始删除最长匹配的word子串

举例:

[[beifeng@hadoop1-senior yanls]$ echo ${parameter##a*c}

ABC

7、${parameter%word}    说明:从变量${parameter}结尾开始删除最短匹配的word子串

举例:

[beifeng@hadoop1-senior yanls]$ echo ${parameter%a*C}

abcABC

8、${parameter%%word}  说明:从变量${parameter}结尾开始删除最长匹配的word子串

举例:

[beifeng@hadoop1-senior yanls]$ echo ${parameter%%a*C}

9、${parameter/pattern/string}  说明:使用String代替第一个匹配的pattern

举例:

[beifeng@hadoop1-senior yanls]$ echo "${parameter/Love/hate}"

I hate Hadoop

[beifeng@hadoop1-senior yanls]$ echo "${parameter/o/q}"

I Lqve Hadoop

10、${parameter//pattern/string}  说明:使用String代替所有匹配的pattern

举例:

[beifeng@hadoop1-senior yanls]$ echo "${parameter//o/q}"

I Lqve Hadqqp

[beifeng@hadoop1-senior yanls]$ parameter="abcABCabcABC"

[beifeng@hadoop1-senior yanls]$ echo ${parameter#a*c}

ABCabcABC

你可能感兴趣的:(Shell变量子串介绍)