2012-01-15 2 views
0

Existe-t-il un moyen d'imprimer les "drapeaux chmod" actuels pour un Dir donné dans Ruby?Drapeaux de répertoire d'impression Ruby?

Je ne suis pas un expert en permissions alors pardonnez la terminologie, mais je voudrais obtenir toutes les informations possibles sur un répertoire (est-ce en lecture seule, quelles sont les autorisations, etc etc).

Edit: J'ai besoin que cela fonctionne dans Ruby 1.8.6

Répondre

1

http://ruby-doc.org/core-1.9.3/File.html#method-c-world_readable-3F

sprintf("%o", File.world_readable?("/")) 

Ruby 1.8.6 solution:

sprintf("%o", File.stat("/").mode) #40755 
+0

Merci, mais existe-t-il une solution qui fonctionne en 1.8.6? –

+0

@TonyR Voir mes modifications. Ça va commencer par 4 parce que c'est un répertoire. – Gazler

+0

Fonctionne très bien, merci beaucoup =) Bien que l'impression des résultats de File.stat donne 040755 et File.stat.mode donne 16877 –

0

Vous pouvez utiliser un peu de shell:

`stat --format=%a #{Dir.pwd}`.chomp # => 755 

Ce n'est pas du rubis pur, mais je pense que ça fait le boulot.

+0

Bonne alternative, mais j'évite le shell autant que possible. Windows ne vient pas avec stat –