반응형
require('fs').readFileSync(0)에서 0은 **파일 디스크립터(File Descriptor)**를 의미합니다.
📌 파일 디스크립터(File Descriptor)란?
- 파일 디스크립터는 운영체제가 프로세스가 열고 있는 파일들을 추적하기 위해 사용하는 정수 값입니다.
- 일반적으로 UNIX 계열 시스템에서 다음과 같은 파일 디스크립터가 예약되어 있습니다:
- 0: 표준 입력 (stdin)
- 1: 표준 출력 (stdout)
- 2: 표준 에러 (stderr)
📌 readFileSync(0)의 의미
- readFileSync(0)은 **표준 입력(stdin)**에서 데이터를 동기적으로 읽어들인다는 의미입니다.
- 즉, 터미널에 사용자가 입력한 데이터를 읽거나, 파이프(|)를 통해 전달된 데이터를 읽습니다.
📌 예시
js
복사편집
// 터미널에서 실행 const fs = require('fs'); // 표준 입력에서 데이터를 읽어들임 (엔터로 종료) const input = fs.readFileSync(0, 'utf-8'); console.log('입력한 내용:', input);
실행:
bash
복사편집
$ node example.js Hello, World! # 터미널에 입력 [엔터] # 엔터를 누르면 입력 종료 입력한 내용: Hello, World!
파이프를 사용한 실행:
bash
복사편집
$ echo "Node.js is great!" | node example.js 입력한 내용: Node.js is great!
정리하자면, readFileSync(0)는 터미널의 표준 입력으로부터 데이터를 읽어들이는 방법입니다. 파이프를 활용해 다른 명령어의 출력도 읽어들일 수 있습니다.
반응형
'JavaScript' 카테고리의 다른 글
| Electron에서 데이터를 저장-읽기할 때는 app.getPath("userData") 경로를 사용해야 한다. (0) | 2025.09.15 |
|---|---|
| TS의 유틸리티 타입 Parameters<typeof ????>는 어떤 함수의 매개변수 타입들을 튜플로 뽑아내는 기능. (1) | 2025.08.09 |
| async 함수는 항상 Promise를 반환한다. (0) | 2025.07.21 |
| 타입스크립트 인덱스 시그니처 문법 (index signature) (0) | 2025.07.16 |
| 타입스크립트 vscode eslint 환경설정 (1) | 2025.07.14 |