|
发表于 2004-6-18 22:46:30
|
显示全部楼层
晕~~~
dearvoid兄,这也包括本教主吗?我的意思与你差不多,扩而展之而已。
最初由 dearvoid 发表
看来大家都没有明白问题之所在. 命令 ls | grep [ns]a[0123456789]\.xls 执行时, 由于没有加引号, bash 先进行 filename expansion, 将其中的 [ns]a[0123456789]\.xls 替换为 na1.xls na2.xls sa1.xls, 因此上述命令跟 ls | grep na1.xls na2.xls sa1.xls 是相同的
这就是所谓的命令行处理中的单引号跳步效应 ,把点号跳过前十步,但其实是大可不必的,正如我在上所言,元字符这一套对bash不管用(至于*,?这类字符只是unix的glob而已,不属于元字符)。
其实这类问题没必要再深入讨论。
一句话,命令行处理。
ps:之所以有所疑问,乃基础知识不扎实以致;何不花多一二小时苦功研究一下置顶帖子呢?难道每个核心点的语法体现都必须大加笔墨而冗述之吗? |
|