
shell模式匹配运算符作用,在哪些环境中使用?例如 ${path#.*} ${path##.*} ${path%.*} ${path%%.*}
刚开始学shell,书里面的例子都能看懂。但是不知道这个匹配运算符在什么环境使用,哪位高人指点下。谢谢!...
刚开始学shell,书里面的例子都能看懂。但是不知道这个匹配运算符在什么环境使用,哪位高人指点下。谢谢!
展开
展开全部
首先,${path#.*} ${path##.*} ${path%.*} ${path%%.*}是bash字符串处理命令,一般shell并不提供。
其次,${path#.*} ${path##.*} ${path%.*} ${path%%.*}中.及*为shell通配符,shell通配符是一种特殊shell元字符,主要用于匹配文件名,有时也用来匹配字符串,比如case语句以及bash字符串处理。shell通配符主要包括.,*,[...],[!...],{...}(逗号为分隔符,具体请自行查询)。shell通配符在shell命令行中均可使用。shell解释命令行时会先搜索元字符,处理元字符,再搜索命令,执行命令(准确地说,是内核执行命令)。
最后,请区分shell通配符与正则表达式。后者非常强大,在grep/sed/awk/perl等中经常使用。
其次,${path#.*} ${path##.*} ${path%.*} ${path%%.*}中.及*为shell通配符,shell通配符是一种特殊shell元字符,主要用于匹配文件名,有时也用来匹配字符串,比如case语句以及bash字符串处理。shell通配符主要包括.,*,[...],[!...],{...}(逗号为分隔符,具体请自行查询)。shell通配符在shell命令行中均可使用。shell解释命令行时会先搜索元字符,处理元字符,再搜索命令,执行命令(准确地说,是内核执行命令)。
最后,请区分shell通配符与正则表达式。后者非常强大,在grep/sed/awk/perl等中经常使用。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询