AZ Tools

.env 파일 파서

파일

`.env` 파일의 실제 사용 사례에서 발생하는 미묘함을 모두 처리하는 브라우저 파서입니다 — 단일 vs 이중 따옴표(이스케이프는 이중 따옴표에서만 해석), RSA 비밀키 같은 멀티라인 값, 값 뒤의 인라인 `# 주석`, `export FOO=bar` 접두사, 빈 값. 파싱 후 다음 환경에 필요한 형식으로 내보내기: 테스트용 JSON, Kubernetes/Helm용 YAML, 셸 스크립트용 `export` 라인, Dockerfile용 `ENV` 지시문, Netlify 환경 컨텍스트용 TOML 블록.

.env 파일 내용
파싱 결과 (10 개)
인라인 주석
DATABASE_URL
postgres://user:pass@localhost:5432/mydb
DB_POOL_SIZE
10
APP_NAME
My App
APP_VERSION
1.0.0
APP_DEBUG
true
OAUTH_PRIVATE_KEY
-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEAxYz...
-----END RSA PRIVATE KEY-----
ROOT_DIR
/opt/app
LOG_DIR
${ROOT_DIR}/logs
EMPTY
PORT
3000
default port
내보내기 형식:
출력
{
  "DATABASE_URL": "postgres://user:pass@localhost:5432/mydb",
  "DB_POOL_SIZE": "10",
  "APP_NAME": "My App",
  "APP_VERSION": "1.0.0",
  "APP_DEBUG": "true",
  "OAUTH_PRIVATE_KEY": "-----BEGIN RSA PRIVATE KEY-----\nMIIEowIBAAKCAQEAxYz...\n-----END RSA PRIVATE KEY-----",
  "ROOT_DIR": "/opt/app",
  "LOG_DIR": "${ROOT_DIR}/logs",
  "EMPTY": "",
  "PORT": "3000"
}

변수 확장(${VAR})은 리터럴로 유지됩니다 — 해석되지 않음. 필요하면 런타임 확장기를 추가하세요.

사용법

  1. `.env` 파일 붙여넣기 (또는 '예시 불러오기'로 지원 문법 확인).
  2. 파싱된 키/값/주석 테이블 검토.
  3. 내보내기 형식을 선택해 복사. 멀티라인 값은 그대로 유지(YAML은 `|`, Docker는 JSON 이스케이프).

자주 묻는 질문

단일·이중 따옴표의 차이는?
이중 따옴표 내부에서는 `\n`, `\t`, `\"` 등 이스케이프가 해석됩니다. 단일 따옴표 내부에서는 리터럴로 처리되어, `FOO='line1\nline2'`는 백슬래시-n을 그대로 유지합니다. npm의 `dotenv`, Python의 `python-dotenv`와 동일한 표준 동작입니다.
`${VAR}` 참조를 확장하나요?
아니요 — 변수 확장은 dotenv 구현마다 다르고, 파서 출력은 파일에 쓰인 그대로 충실히 표현해야 합니다. 필요하면 `dotenv-expand` 같은 도구를 import 후에 사용하세요.
데이터가 어디론가 전송되나요?
아니요. 파싱은 전적으로 브라우저 안에서 일어납니다. `.env` 내용이 기기 밖으로 나가지 않습니다.

관련 도구