我可以使用“**”glob遍历Ruby中的符号链接目录吗?

时间:2008-12-10 21:55:44

标签: ruby symlink

在Ruby中,Dir.glob("**/*.rb")(例如)不遍历符号链接目录。是否可以让**遍历符号链接?

我正在使用两个以这种方式查找文件的gem,但是我需要它们来查看符号链接目录中的文件。

2 个答案:

答案 0 :(得分:36)

Jonathan聪明而狡猾的方法非常棒,能够通过几个星号,muahaha轻弹大量的符号链接。然而,它有不幸的副作用,不返回直接儿童比赛。改进版可能是:

Dir.glob("**{,/*/**}/*.rb")

哪个(在我的测试中)都会遵循一个符号链接并返回直接的孩子。

答案 1 :(得分:12)

由于存在无限循环的风险,通常不会使用递归搜索。

但是,this discussion may help

  

Dir.glob("**/*/**/b")将遵循符号链接一次。