如何在Nodejs中获得当前的操作系统?

1,088 阅读2分钟

How to check the current running operating System Nodejs Example

这个例子展示了如何使用nodejs代码获得当前运行的操作系统。

有时,我们需要根据当前运行的系统来运行shell或批处理脚本。

如果操作系统是windows,使用批处理(.bat)文件。如果Linux和macOS使用shell(.sh)脚本。

使用命令行编程的Nodejs API

如何使用Nodejs获得当前运行的操作系统?

在Nodejs中以编程方式获取操作系统有多种方法,一种方法是使用process.Platform属性,另一种方法是使用Nodejs OS模块。

  • 使用process.Platform属性 process是一个提供关于NodeJS程序的当前运行环境的对象。
console.log(process.platform) // win32

在我的windows机器上运行上述程序,得到的是win32值。

process.platform返回以下值

- win32 for windows
- linux for Linux OS
- aix for AIX OS
- openbsd-
- darwin is for MACOS OS
- android is for Android OS on mobile devices

下面是一个完整的例子

var osValue = process.platform;

if (osValue == 'darwin') {
    console.log("Mac OS");
}else if(osValue == 'win32'){
    console.log("Window OS")
}else if(osValue== 'android') {
    console.log("Android OS")
}else if(osValue== 'linux') {
    console.log("Linux OS")
}
else{
    console.log("Other os")
}

在运行windows时,下面是一个输出

Window OS

Nodejs OS模块为当前运行的操作系统提供了实用方法。

首先,使用ES5中的require 关键字导入os 模块。

使用release() 函数返回当前的操作系统版本platform() 函数返回操作系统平台类型

var os = require('os');

console.log(os.release()); 
console.log(os.platform()); 


下面是同样的上述代码,用于ES6。在ES6中,使用import关键字导入os模块。

import * as Os from 'os'


console.log(Os.release()); 
console.log(Os.platform()); 

输出

10.0.21996
win32

REPL命令行获得当前运行的操作系统

下面是通过命令行获取当前操作系统的步骤。

  • 首先在命令行中输入node
  • 它会打开Nodejs REPL命令行模式
  • 输入os.release() ,获得版本
  • 键入os.platform() ,获得操作系统平台
A:\work\nodework>node
Welcome to Node.js v14.17.0.
Type ".help" for more information.
> os.release()
'10.0.21996'
> os.platform()
'win32'

总结

通过实例学习了使用命令行和编程方式获取操作系统类型的多种方法