可靠地确定使用shell(cmd,bash等)来运行node.js脚本

正如标题所述,我想确定使用shell( cmdbash等)来运行node.js脚本(从脚本中)。

当用os模块检测操作系统可以给出一些线索的时候,一些实例是不够的,比如像在GitBash或者Cygwin这样的terminal上通过win32 bash执行。

有没有这个信息的process对象的某个属性?

*编辑:虽然process.env.SHELL是一个选项,但在使用某些terminal时,并不总是可以填充,也可能是undefined

您可以使用process.env.SHELL属性来获取正如在官方文档中看到的那样,

process.env属性返回一个包含用户环境的对象。 这个对象的例子如下所示:

 { TERM: 'xterm-256color', SHELL: '/usr/local/bin/bash', USER: 'maciej', PATH: '~/.bin/:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin', PWD: '/Users/maciej', EDITOR: 'vim', SHLVL: '1', HOME: '/Users/maciej', LOGNAME: 'maciej', _: '/usr/local/bin/node' }