2

Dir[directory_path].empty?一直返回false。无论我是否irb以 root 身份运行,行为都是相同的:

$ 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

如果有人可以对这个问题有所了解,那将非常有帮助。

4

2 回答 2

3

目录[].empty?一直返回 false

它应该,因为它总是包含父目录(..)和目录本身(.),你没有照顾。

于 2013-08-12T19:18:27.063 回答
2

这不是您问题的答案,但为了避免在列表中获取.and的问题..,请使用Dir.glob代替Dir.[]. 你可能会得到true这个:

Dir.glob("/opt/purge_entitlement/in/*").empty?
于 2013-08-12T19:26:17.983 回答