我已经读过几条关于.*
在进行通配符时使用该模式的警告,因为它将包含当前目录和父目录。
我尝试echo .*
过 和ls -l .*
,我的 bash 只扩展到当前目录中的隐藏文件。由于 bash 负责执行 filapath 扩展,我假设它对所有其他命令都同样有效。
也许这只是早期 Bash 版本的问题...但是,我没有找到任何这方面的信息。
我的想法有什么问题?
我已经读过几条关于.*
在进行通配符时使用该模式的警告,因为它将包含当前目录和父目录。
我尝试echo .*
过 和ls -l .*
,我的 bash 只扩展到当前目录中的隐藏文件。由于 bash 负责执行 filapath 扩展,我假设它对所有其他命令都同样有效。
也许这只是早期 Bash 版本的问题...但是,我没有找到任何这方面的信息。
我的想法有什么问题?
根据发行说明, Bash 版本 5.2 引入了一个新的
globskipdots
shell 选项:要恢复“旧”行为,您可以使用
shopt
内置函数取消设置该选项:另请参见bash 中用于通配符的设置是什么,以控制 * 是否匹配点文件。