Dir[directory_path].empty?
始终返回false
。无论我是否以root身份运行irb
,行为都是相同的:
$ ll
total 12
drwxrwxrwx 2 ndefontenay ndefontenay 4096 Aug 12 12:11 ./
drwxrwxrwx 4 ndefontenay ndefontenay 4096 Aug 5 11:45 ../
-rw-rw-r-- 1 ndefontenay ndefontenay 8 Aug 12 12:11 test
$ irb
> Dir["/opt/purge_entitlement/in"].empty?
=> false
> exit
$ sudo irb
> Dir["/opt/purge_entitlement/in"].empty?
=> false
如果有人可以解决这个问题,那将非常有用。
答案 0 :(得分:3)
风向[]。空?始终返回false
它应该,因为它总是包含父目录(..)
,而目录本身(.)
,你没有处理。
答案 1 :(得分:2)
这不是您问题的答案,但为了避免在列表中获取.
和..
的问题,请使用Dir.glob
代替Dir.[]
。你可能会得到true
:
Dir.glob("/opt/purge_entitlement/in/*").empty?