Spaces:
Running
Running
; | |
const fs = require('fs'); | |
const shebangCommand = require('shebang-command'); | |
function readShebang(command) { | |
// Read the first 150 bytes from the file | |
const size = 150; | |
const buffer = Buffer.alloc(size); | |
let fd; | |
try { | |
fd = fs.openSync(command, 'r'); | |
fs.readSync(fd, buffer, 0, size, 0); | |
fs.closeSync(fd); | |
} catch (e) { /* Empty */ } | |
// Attempt to extract shebang (null is returned if not a shebang) | |
return shebangCommand(buffer.toString()); | |
} | |
module.exports = readShebang; | |