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的开头往后匹配,也是留下不匹配的部分。另外,当个#也是最短匹配,而双#是最长匹配。
时间: 2024-12-07 17:00:56