全部博文(298)
分类: Python/Ruby
2012-03-27 10:07:11
注意Shell通配符
最近老是犯一个错误,但是找不到原因,有如下命令:
find –name *.txt
查找当前目录下以.txt结尾的文件,但是通常这么用会出错,这是因为通配符的扩展功能,若在路径上有多个名称符合通配符的话,那么将会被扩展为多个路径,比如1.txt,2.txt在[12].txt中将会被扩展为1.txt 2.txt,然而find –name 后面只被指定了一个name,若是-name *.txt就会被扩展为-name 1.txt 2.txt,那么在语法上面就会出错,将路径引用起来就行了。
通配符也是属于命令行的处理工序,作用于argument里的path上,若不是argument在path上的话那么也与通配符无关,通配符是一种命令行的路径扩展功能,通配符进行扩展之后,命令行就会完成重组才将结果交给要处理的命令,就如find –name “*.txt”先是[12].txt路径扩展为”1.txt 2.txt”,然后重组路径参数去查找。