본문 바로가기
IT/node.js

Node.js process.argv

by 뉴코딩맨 2023. 4. 26.
Node.js에서 process.argv는 프로세스에 전달된 인수를 저장하는 배열입니다. 이 배열은 프로세스를 실행할 때 명령줄에서 전달되는 인수들을 담고 있습니다. process.argv는 Node.js의 기본 내장 모듈인 process 모듈의 속성 중 하나입니다. 이번 글에서는 Node.js에서 process.argv가 무엇인지, 어떻게 사용하는지에 대해 자세히 설명해보겠습니다.
 

process.argv 소개

process.argv는 Node.js에서 기본적으로 제공하는 객체입니다. 이 객체는 Node.js 애플리케이션 실행 시점에서 명령행에서 전달된 인수(argument)들의 배열(Array)을 담고 있습니다. 이 배열의 첫 번째 원소는 Node.js 실행 파일(node)의 경로이며, 두 번째 원소부터는 명령행에서 전달된 인수들이 순서대로 들어있습니다.
 
예를 들어, 다음과 같이 node 명령어로 실행할 때
 
node myScript.js arg1 arg2 arg3
 
myScript.js 파일에서 process.argv를 출력해보면 다음과 같습니다.
 
console.log(process.argv);
 
[ '/usr/bin/node', '/path/to/myScript.js', 'arg1', 'arg2', 'arg3']
 
첫 번째 원소는 Node.js 실행 파일의 경로이며, 두 번째 원소는 myScript.js 파일의 경로입니다. 이후에 전달된 arg1, arg2, arg3는 순서대로 세 번째, 네 번째, 다섯 번째 원소입니다.
 

process.argv 사용하기

process.argv를 이용하면 Node.js 애플리케이션에서 명령행 인수를 사용할 수 있습니다. 이를 통해 실행 시점에서 사용자로부터 다양한 인자를 받아와서 해당 인자에 맞는 로직을 수행할 수 있습니다.
 
다음 예제는 명령행에서 전달된 인자를 이용해서 간단한 덧셈 계산을 수행하는 예제입니다.
 
const args = process.argv.slice(2); // 첫 번째와 두 번째 인수는 불필요한 경로 정보이므로 제거
const num1 = parseInt(args[0]);
const num2 = parseInt(args[1]);

if (isNaN(num1) || isNaN(num2)) {
	console.log('Please provide valid numbers');
} else {
    const sum = num1 + num2;
    console.log(`The sum of ${num1} and ${num2} is ${sum}`);
}
 
위 코드에서는 process.argv.slice(2)를 통해 불필요한 첫 번째와 두 번째 원소를 제거한 후, 나머지 인수를 args 변수에 담았습니다. 이후 args[0], args[1]에 담긴 값들을 parseInt를 이용해 숫자로 변환하여 계산할 수 있습니다.

'IT > node.js' 카테고리의 다른 글

Node.js module.exports  (0) 2023.04.27
Node.js fs 모듈 사용법  (0) 2023.04.27
Node.js 파일 실행 방법  (0) 2023.04.26
Node.js REPL 이란?  (0) 2023.04.25
Node.js 설치하기  (0) 2023.04.24

댓글