3 const fs = require('fs');
4 const shebangCommand = require('shebang-command');
6 function readShebang(command) {
7 // Read the first 150 bytes from the file
12 // Node.js v4.5+ / v5.10+
13 buffer = Buffer.alloc(size);
16 buffer = new Buffer(size);
17 buffer.fill(0); // zero-fill
23 fd = fs.openSync(command, 'r');
24 fs.readSync(fd, buffer, 0, size, 0);
26 } catch (e) { /* Empty */ }
28 // Attempt to extract shebang (null is returned if not a shebang)
29 return shebangCommand(buffer.toString());
32 module.exports = readShebang;