
这个例子展示了如何使用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'
总结
通过实例学习了使用命令行和编程方式获取操作系统类型的多种方法