2013-04-28 19 views

risposta

6

Si potrebbe utilizzare la chiamata fs.stat per questo.

La chiamata fs.stat restituisce un oggetto fs.Stats.

In tale oggetto è un attributo mode. La modalità ti dirà se il file è eseguibile.

Nel mio caso, ho creato un file e ha fatto un chmod 755 test_file e poi corse attraverso il seguente codice:

var fs = require('fs'); 
test = fs.statSync('test_file'); 
console.log(test); 

Quello che ho ottenuto per test.mode era 33261.

This link è utile per la conversione di mode di nuovo per unire i permessi dei file equivalenti.

+0

C'è anche un modulo molto utile [mode-to-permessi] (https://github.com/mmalecki/mode-to-permissions) - se non si vuole pasticciare con i dettagli . – tomekwi

+0

a destra, vorrei passare questo, se ha spiegato come scoprire che un file era eseguibile data la modalità –

2

Nel nodo il metodo restituisce un oggetto fs.statfs.Stats, è possibile ottenere il permesso di file tramite la proprietà fs.Stats.mode. Da questo post: Nodejs File Permissions

5

Un'altra opzione che si basa solo su .sync() il modulo incorporato fs è quello di utilizzare uno o fs.accessfs.accessSync. Questo metodo è più semplice di ottenere e analizzare la modalità file. Un esempio:

const fs = require('fs'); 

fs.access('./foobar.sh', fs.constants.X_OK, (err) => { 
    console.log(err ? 'cannot execute' : 'can execute'); 
}); 
+0

di lettura/scrittura o esecuzione? dobbiamo essere in grado di eseguire il file –

+0

Buon punto. Ho aggiornato l'esempio per abbinare la domanda specifica. –

Problemi correlati