Jak sprawdzić, czy plik jest wykonywalny w pliku node.js?Jak sprawdzić, czy plik jest wykonywalny w pliku node.js?
Może coś
fs.isExecutable(function (isExecutable) {
})
Jak sprawdzić, czy plik jest wykonywalny w pliku node.js?Jak sprawdzić, czy plik jest wykonywalny w pliku node.js?
Może coś
fs.isExecutable(function (isExecutable) {
})
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.
w węźle metoda fs.stat
zwraca obiekt fs.Stats
można uzyskać dostępu do pliku za pomocą właściwości fs.Stats.mode. Z tego wpisu: Nodejs File Permissions
Spójrz na https://www.npmjs.com/package/executable to nawet ma metodę
executable('bash').then(exec => {
console.log(exec);
//=> true
});
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');
});
odczytu/zapisu, czy wykonać? musimy mieć możliwość wykonania pliku –
Dobra uwaga. Zaktualizowałem przykład, aby dopasować konkretne pytanie. –
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
prawo, chciałbym to zrobić, jeśli wyjaśniono, jak znaleźć plik był wykonywalny w trybie –