2013-04-28 22 views

Odpowiedz

6

Można użyć do tego wezwania fs.stat.

Wywołanie fs.stat zwraca obiekt fs.Stats.

W tym obiekcie jest atrybut mode. Tryb pokaże, czy plik jest wykonywalny.

W moim przypadku, utworzony plik i zrobił chmod 755 test_file a następnie prowadził ją przez następujący kod:

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

co mam na test.mode było 33261.

This link jest pomocne do konwersji mode wróć do ekwiwalentu uprawnień do plików uniksowych.

+0

Jest też bardzo pomocny moduł [Tryb do uprawnień] (https://github.com/mmalecki/mode-to-permissions) - jeśli nie chcemy bałaganu ze szczegółami . – tomekwi

+0

prawo, chciałbym to zrobić, jeśli wyjaśniono, jak znaleźć plik był wykonywalny w trybie –

5

Inną opcją, która opiera się tylko na .sync() wbudowanego modułu fs jest użyć fs.access lub fs.accessSync. Ta metoda jest łatwiejsza niż pobieranie i analizowanie trybu plików. Przykład:

const fs = require('fs'); 

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

odczytu/zapisu, czy wykonać? musimy mieć możliwość wykonania pliku –

+0

Dobra uwaga. Zaktualizowałem przykład, aby dopasować konkretne pytanie. –

Powiązane problemy