LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 575|回复: 5

请问${1##*.}具体是什么意思

[复制链接]
发表于 2004-12-29 17:37:49 | 显示全部楼层 |阅读模式
今天到脚本欣赏帖上看了看,又学到了许多东西。看到tram的解压脚本中有
if [ ${1##*.} = bz2 ] ; then
其中,“${1##*.}”应该是取文件名的后缀,但不知道具体是什么意思。是用的正则式吗?各位大虾能否解释一下?谢谢。
整个脚本在
http://www.linuxsir.cn/bbs/showthread.php?t=29701
发表于 2004-12-29 21:55:38 | 显示全部楼层
发表于 2004-12-29 22:02:59 | 显示全部楼层
${parameter##words}
从parameter开头寻找words,删除parameter内找到的最后的一个word和前面所有内容
 楼主| 发表于 2004-12-30 08:33:11 | 显示全部楼层
哦。明白了。谢谢。
发表于 2005-1-2 14:04:18 | 显示全部楼层
Post by 1ball
${parameter##words}
从parameter开头寻找words,删除parameter内找到的最后的一个word和前面所有内容



应改是最长的一个words
${parameter#words} 是最端的一个words

CODE:#!/bin/bash
paramter=abcabcp
out=${paramter#a*bc};
printf "$out"

OUT: abcp

CODE:#!/bin/bash
paramter=abcabcp
out=${paramter##a*bc};
printf "$out"

OUT: p
 楼主| 发表于 2005-1-4 09:09:28 | 显示全部楼层
谢谢。##是指最大匹配。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表