在学习过shell的运算符之后可以进一步了解一下shell的运算表达式
表达式 | 说明 |
---|---|
${ parameter } | 返回变量的内容 |
${ #parameter } | 返回变量内容的长度 |
${ parameter:offset } | 在变量${ parameter }中,从位置offset之后开始提取子串到结尾 |
${ parameter:offset:length } | 在变量${ parameter }中,从位置offset后开始提取长度为length的子串 |
${ parameter#word } | 从变量${ parameter }开头开始删除最短匹配的word子串 |
${ parameter##word } | 从变量${ parameter }开头开始删除最长匹配的word子串 |
${ parameter%word } | 从变量${ parameter }结尾开始删除最短匹配的word子串 |
${ parameter%%word } | 从变量${ parameter }结尾开始删除最长匹配的word子串 |
${ parameter/pattern/string } | 使用string代替第一个匹配到的pattern |
${ parameter//pattern/string } | 使用string代替所有匹配到的pattern |
举些许的例子
[root@localhost fuxi]# str1="hello world"
[root@localhost fuxi]# echo ${str1}
hello world
[root@localhost fuxi]# echo ${#str1}
11
[root@localhost fuxi]# echo ${str1:1}
ello world
[root@localhost fuxi]# echo ${str1:0-5}
world
[root@localhost fuxi]# echo ${str1/o/e}
helle world
[root@localhost fuxi]# echo ${str1//o/e}
helle werld