我正在編寫幾個節點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