Node.js로 현재 운영 체제를 확인하는 방법
플랫폼에서 개발할 때 사용할 노드 셸 스크립트를 몇 개 작성하고 있습니다.Mac과 Windows 개발자가 모두 있습니다.한 인스턴스에서 .sh 파일을 실행하고 다른 인스턴스에서 .bat을 실행하기 위해 노드에서 확인할 수 있는 변수가 있습니까?
사용할 변수는 다음과 같습니다.
Mac에서 변수는 다음과 같이 설정됩니다.darwin
Windows에서는 다음과 같이 설정됩니다.win32
(64비트에서도).
현재 가능한 값은 다음과 같습니다.
aix
darwin
freebsd
linux
openbsd
sunos
win32
android
(링크에 따른 실험)
jake 파일의 맨 위에 설정했습니다.
var isWin = process.platform === "win32";
Node.js v6(및 그 이상)에는 전용이 있습니다.os
모듈은 운영 체제와 관련된 다양한 유틸리티 방법을 제공합니다.
Windows 10 컴퓨터에서 다음을 보고합니다.
var os = require('os');
console.log(os.type()); // "Windows_NT"
console.log(os.release()); // "10.0.14393"
console.log(os.platform()); // "win32"
여기에서 전체 설명서를 읽을 수 있습니다. https://nodejs.org/api/os.html#os_os_type
Node.js용 OS 네이티브 모듈을 찾고 있습니다.
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.플랫폼 »
운영 체제 플랫폼을 반환합니다.가능한 값은 'darwin', 'freebsd', 'linux', 'sunos' 또는 'win32'입니다.process.platform의 값을 반환합니다.
과정
var opsys = process.platform;
if (opsys == "darwin") {
opsys = "MacOS";
} else if (opsys == "win32" || opsys == "win64") {
opsys = "Windows";
} else if (opsys == "linux") {
opsys = "Linux";
}
console.log(opsys) // I don't know what linux is.
OS
const os = require("os"); // Comes with node.js
console.log(os.type());
이것은 나에게 잘 작동합니다.
var osvar = process.platform;
if (osvar == 'darwin') {
console.log("you are on a mac os");
}else if(osvar == 'win32'){
console.log("you are on a windows os")
}else{
console.log("unknown os")
}
저는 잘 작동합니다.
if (/^win/i.test(process.platform)) {
// TODO: Windows
} else {
// TODO: Linux, Mac or something else
}
식별자는 대소문자를 구분하지 않는 일치를 수행하는 데 사용됩니다.
64비트 창에서 32비트 노드를 사용할 때(노드 웹킷 또는 원자 셸 개발자 등) process.platform은 win32를 반향시킵니다.
사용하다
function isOSWin64() {
return process.arch === 'x64' || process.env.hasOwnProperty('PROCESSOR_ARCHITEW6432');
}
(자세한 내용은 여기에서 확인)
Mac 시스템에서 윈도우즈 VM에서 노드 js 코드를 실행하는 것과 동일한 문제에 직면했습니다.다음 코드가 효과를 발휘했습니다.
교체하다
process.platform == 'win32'
와 함께
constos = required ('os';
os.platform(플랫폼) == 'win32';
var isWin64 = process.env.hasOwnProperty('ProgramFiles(x86)');
const path = require('path');
if (path.sep === "\\") {
console.log("Windows");
} else {
console.log("Not Windows");
}
언급URL : https://stackoverflow.com/questions/8683895/how-do-i-determine-the-current-operating-system-with-node-js
'programing' 카테고리의 다른 글
MongoDB 3.2 인증 실패 (0) | 2023.05.27 |
---|---|
Bash 셸에서 ${var}, "$var" 및 "${var}"의 차이점은 무엇입니까? (0) | 2023.05.27 |
다중 행 문자열 변수 (0) | 2023.05.27 |
각 그룹의 상위 1개 행 가져오기 (0) | 2023.05.27 |
각도 2: 반응형 폼 컨트롤을 반복합니다. (0) | 2023.05.27 |