2012-05-19 8 views
5

Ich benutze stat zweimal in meinem Skript einmal, um die Datei-Dateien-Berechtigungen zu finden und einmal, um die Größe der Datei zu finden.Binutils Stat illegale Option -c

`stat -c %A "$directory/$file"` 
`stat -c %s "$directory/$file"` 

Ich verwende OSX 10.7 und Verzeichnis und Datei sind Variable des aktuellen Verzeichnisses, in dem ich bin und der Datei.

+1

Nun, geben Sie "Mann stat" und sehen, welche Optionen Sie haben – Mat

+0

BTW, es ist keine Bash Frage, sondern eine binutils Frage – zmo

+0

Ich frage mich, ob ls hier verwendet werden könnte, um die Erlaubnis zu bestimmen. – ravi

Antwort

10

blank Darwins Stat erlaubt keine Option -c, da es sich um eine GNU-Erweiterung handelt. Du solltest stattdessen die Gnu-Binutils entweder von Homebrew, von Port oder von Fink herunterladen und dann gstat anstelle von stat verwenden.

Wenn Sie nicht wollen, Gnu binutils installieren, dann zu den verschiedenen BSD-Tools halten, also:

stat -f "%p" t.c 

werden die Modi geben (in oktal) und

stat -f "%z" t.c 

geben die Größe.

+1

Oder für die Portabilität schreiben Sie ein einfaches Perl-Skript. – tripleee