通配符`*`不能匹配某些字符串?

刮y的
ls  -al  .functions*
-rw-r--r-- 1 root root 471040 Mar  2 10:01 .functions.php.swo
-rw-r--r-- 1 root root 438272 Mar  2 09:57 .functions.php.swp

*可以匹配.php.swo.php.swp
为什么*不能匹配.functions.php

ls  -al  *.swo
ls: cannot access '*.swo': No such file or directory
ls  -al  *swo
ls: cannot access '*swo': No such file or directory
ido堂

默认情况下,以点开头的文件从文件列表中隐藏。匹配这类文件的最简单方法是在表达式的开头加一个点。但是,这将匹配以开头的onyl文件.

ls  -al  .*.swo

替代方法是dotglob在运行命令之前设置,然后.将包含以开头的文件

shopt -s dotglob

将其添加到您~/.bashrc的默认设置中。

请注意,使用bash shell时设置dotglob可能导致意外的结果,因为使用时,.(当前目录)和..(父目录)都将出现*使用dotglobset时,切勿尝试使用rm -R *

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章