bash shell parameter expansion

Posted phoenix tree

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了bash shell parameter expansion相关的知识,希望对你有一定的参考价值。

1 ${parameter%word}和${parameter%%word}

${parameter%word},word是一个模式,从parameter这个参数的末尾往前开始匹配。单个%进行最短匹配,也就是说,从后往前匹配,遇到了匹配成功立马停止。

${parameter%%word},word是一个模式,从parameter这个参数的末尾往前开始匹配。双%进行最长匹配,也就是说,从后往前匹配,遇到了匹配继续匹配,一直匹配到开头,找到最长的匹配。

path=/home/mem/long.file.name

${path%.*}    ---->  /home/mem/long.file

${path%%.*} ---->  /home/mem/long

 

2 ${parameter#word}和${parameter##word}

和%的区别在于,#是从parameter的开头往后匹配,也是留下不匹配的部分。另外,当个#也是最短匹配,而双#是最长匹配。

以上是关于bash shell parameter expansion的主要内容,如果未能解决你的问题,请参考以下文章

bash shell数组变量

Linux Bash Shell学习笔记

Linux Shell參数扩展(Parameter Expansion)

shell系统$的含义

jenkins dynamic parameter 没有

shell关于变量的操作