因此,命令echo *的结果应该是“当前目录中的任何文件”。它应该包括dotfile吗?
类似地,ls *的结果应该包括dotfile吗?
发布于 2013-07-20 10:38:08
来自GNU引用的文件名展开部分:
当一个模式用于文件名展开时,字符‘.’除非设置了shell选项,否则必须在文件名开始时或紧接斜杠后面显式匹配。匹配文件名时,必须始终显式匹配斜杠字符。在其他情况下,“.”性格不是被特别对待的。
这在所有POSIX中都有文档记录(和预期的)行为,请参见用于文件名展开的模式:
如果文件名以句点(‘.“)开头,则应使用句点作为模式的第一个字符或紧跟斜杠字符,显式匹配句点。前导期不应与下列情况相匹配:
未指定括号表达式匹配列表中的显式句点(如".abc“)是否可以匹配文件名中的前导句点。
https://unix.stackexchange.com/questions/83737
复制相似问题