利用%截取文件名
借助%操作符可以轻松将名称部分从”名称.扩展名”这种格式中提取出来
file_jpg='2222.jpg' file_name=${file_jpg%.*} echo $file_name #输出 2222
提取扩展名
file_jpg='2222.jpg' file_name=${file_jpg#*.} echo $file_name #输出 jpg
贪婪与非贪婪模式
%属于非贪婪操作,他从右到左找出匹配通配符的最短结果,还有另一个操作符%%,他的行为是贪婪模式,这意味着他会匹配符合条件的最长字符串
file_jpg='2222.class.php.jpg' file_name=${file_jpg%.*} echo $file_name #输出 2222.class.php
而使用贪婪模式
file_jpg='2222.class.php.jpg' file_name=${file_jpg%%.*} echo $file_name #输出 2222
#和##也类似,一个是#是非贪婪模式,##是贪婪模式
file_jpg='2222.class.php.jpg' file_name=${file_jpg#*.} echo $file_name #输出 class.php.jpg
file_jpg='2222.class.php.jpg' file_name=${file_jpg##*.} echo $file_name #输出 jpg