【发布时间】:2021-01-16 20:56:14
【问题描述】:
我有 ~/work 使用符号链接 (ln -s...) 指向另一个分区上的目录。
例如,~ 在/dev/sda1 上,而~/work 是指向/dev/sda2 上目录的链接。
Dir.glob('**', '*rb') 返回的数组不包含~/work 中的任何文件。
有没有办法让glob 包含~/work 文件?
BernardK 在评论中指出,这个问题是在 Can I traverse symlinked directories in Ruby with a "**" glob? 提出的。那里的答案有点神秘,我想知道自该问题发布以来的 12 年内是否对标准库进行了有关此问题的任何修改。
【问题讨论】:
-
你见过 stackoverflow.com/questions/357754/…> 吗?
-
谢谢。是的,我在发布后找到了它,并正在考虑删除这个问题。重新措辞询问自 12 年前该帖子以来是否有任何关于此问题的语言补充是否合法?我已修改问题以包含此内容。
-
作为一种解决方法,我可以只使用
find -L或Ruby 的Dir.glob。这将遵循符号链接,并且默认情况下还包括隐藏目录中的文件(例如.rvm!)。不幸的是,这将无法移植到 Windows。 -
顺便说一下,我已经在 Ruby 论坛bugs.ruby-lang.org/issues/17548 发布了一个功能请求。