我需要检查一个特定的文件,看看它是否是世界可写的。在 1.9.x 中,有一个方便的检查 this,但这个检查在 1.8.7 中不存在。出于兼容性原因,我需要在 1.8.7 中编写此脚本。
在 1.8.7 中是否有一种很好的方法可以在我遗漏的情况下进行此检查,或者我是否需要使用 stat 滚动我自己的方法?
编辑 这是我到目前为止想出的。有点hacky和坏,但它有效:
def world_writable?(file)
write_bit = Integer(sprintf("%o", File.stat(file).mode)[-1,1])
if [2, 3, 6, 7].include?(write_bit)
return true
else
return false
end
end
if world_writable?('/Users/nate/Desktop/scriptrunnertest/test1.sh')
puts "World writable"
else
puts "Not World Writable"
end
我对红宝石很陌生,所以要温柔。
edit2没关系,这甚至不起作用。
edit3修复了它