| 'use strict'; | 
|   | 
| 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; |