正如标题所述,我想确定使用什么 shell( cmd
、 bash
或等)来运行 node.js 脚本(从脚本内部)。
使用 os
检测操作系统时模块可以提供一些线索,但在某些情况下还不够,例如我是从 bash
执行的上win32
通过像 GitBash 这样的终端或Cygwin .
process
上是否有特性具有此信息的对象?
*编辑:虽然 process.env.SHELL
是一个选项,它并不总是被填充,也许 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'
}
关于node.js - 可靠地确定使用什么 shell(cmd、bash 等)来运行 node.js 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43161205/