1'use strict'; 2 3const fs = require('fs'); 4const shebangCommand = require('shebang-command'); 5 6function readShebang(command) { 7 // Read the first 150 bytes from the file 8 const size = 150; 9 const buffer = Buffer.alloc(size); 10 11 let fd; 12 13 try { 14 fd = fs.openSync(command, 'r'); 15 fs.readSync(fd, buffer, 0, size, 0); 16 fs.closeSync(fd); 17 } catch (e) { /* Empty */ } 18 19 // Attempt to extract shebang (null is returned if not a shebang) 20 return shebangCommand(buffer.toString()); 21} 22 23module.exports = readShebang; 24