我正在编写几个节点shell脚本以供在平台上开发时使用。我们有Mac和Windows开发人员。是否有一个变量,我可以在Node中检查以在一个实例中运行.sh文件,在另一个实例中运行.bat?如何使用Node.js确定当前的操作系统
回答
在Mac变量返回darwin
变量。在Windows上,它返回win32
(即使在64位上)。
可能的值有: '达尔文', 'FreeBSD的', 'Linux的', '在SunOS' 或
我只是将此设置为我的jakeFile顶部 '的win32':
var isWin = process.platform === "win32";
您应该更好地使用OS模块,甚至在文档中。 os.platform特别是 – alessioalex 2011-12-30 20:58:07
即使在64位操作系统上,windows也会返回''win32'。即'process.platform ==='win32''就足够了 – Raynos 2011-12-30 21:44:02
。感谢Raynos! – 2011-12-30 22:02:36
您正在寻找Node.js的操作系统本机模块:
V4:https://nodejs.org/dist/latest-v4.x/docs/api/os.html#os_os_platform
或V5:https://nodejs.org/dist/latest-v5.x/docs/api/os.html#os_os_platform
os.platform()
返回操作系统系统平台。可能的值是'darwin','freebsd','linux','sunos'或'win32'。返回process.platform的值。
var isWin =(os.platform()==='win32'); – urish 2013-10-18 09:51:57
process.platform也可以,不需要:https://nodejs.org/dist/latest-v4.x/docs/api/process.html#process_process_platform – 2016-01-19 03:03:04
时您使用的32位节点上的64位的窗口(如节点的webkit或原子 - 壳开发者),将process.platform回声的win32
使用
function isOSWin64() {
return process.arch === 'x64' || process.env.hasOwnProperty('PROCESSOR_ARCHITEW6432');
}
(检查here的详细信息)
var isWin64 = process.env.hasOwnProperty('ProgramFiles(x86)');
随着Node.js的V6(及以上)有专用os
模块,它提供了许多操作系统相关的实用方法。这里
var os = require('os');
console.log(os.type()); // "Windows_NT"
console.log(os.release()); // "10.0.14393"
console.log(os.platform()); // "win32"
你可以阅读它的完整文档:
在我的Windows 10机器它报告以下https://nodejs.org/api/os.html
const path = require('path');
if (path.sep === "\\") {
console.log("Windows");
} else {
console.log("Not Windows");
}
虽然此代码可能会回答问题,但提供有关如何解决问题和/或为何解决问题的其他上下文将提高答案的长期价值。 – Badacadabra 2017-06-07 14:01:33
尽管这在大多数情况下都可行,但我更喜欢使用'os'模块,这在阅读代码时更具表现力。 – Stephan 2018-02-03 22:10:58
工作正常,我
if (/^win/.test(process.platform)) {
// TODO: Windows
} else {
// TODO: Linux, Mac or something else
}
- 1. 如何从Lua脚本中确定系统的操作系统?
- 2. 如何手动确定当前操作系统的CodePage和区域设置
- 3. 如何确定使用Java的操作系统?
- 4. Node.js获取/确定操作系统版本
- 5. AuthLogic - 如何确定整个系统中的当前用户ID?
- 6. 如何获取MSBuild中的当前操作系统?
- 7. 如何在'make'中检查当前的操作系统是?
- 8. 如何获取Windows Phone的当前操作系统版本?
- 9. 如何检查当前的操作系统是否为Windows 7?
- 10. 确定从32位操作系统或64位操作系统C/C++应用
- 11. Matlab/Simulink:确定当前系统级
- 12. Node.js支持的操作系统
- 13. 通过Silverlight确定操作系统
- 14. 确定操作系统是否为Mac
- 15. 如何将当前操作系统的值设置为默认操作系统 - 通过c#代码或脚本
- 16. 确定使用Javascript的哪个操作系统
- 17. 如何在Vala程序中确定当前的操作系统(包括Linux中的特定分发版)?
- 18. 操作系统如何确定虚拟内存的大小
- 19. 如何确定操作系统是否为C中的POSIX?
- 20. 如何确定编译rpm的操作系统版本?
- 21. 获取Adobe Air中当前登录的操作系统用户
- 22. 如何是操作系统
- 23. 如何区分node.js中的不同操作系统发行版?
- 24. 如何确定“设备”是否需要操作系统
- 25. 预定义为iPhone操作系统和Mac操作系统
- 26. 如何使用common lisp来确定操作系统和主机名?
- 27. 准确确定PHP运行的操作系统类型
- 28. 如何从Windows操作系统获取当前用户名和密码。
- 29. VMWare是否安装在当前的操作系统?
- 30. 找出MSBuild中当前操作系统的“位”
等组合模块_Child Processes_模块_OS_? – 2011-12-30 20:49:17
这看起来像是一个副本http://stackoverflow.com/questions/6551006/get-my-os-from-the-node-js-shell – 2012-06-22 16:38:19
http://stackoverflow.com/questions/42524606/get-windows -name-using-node-js – 981 2017-03-23 06:05:34