C.W.K.
Stream
Lesson 01 of 10 · published

환경 변수

~12 min · env, export, variables

Level 0창 구경꾼
0 XP0/95 lessons0/14 achievements
0/100 XP to next level100 XP to go0% complete

모든 프로그램이 읽는 상태

환경 변수는 실행 중 모든 프로세스가 읽을 수 있는 키 / 값 쌍. $HOME, $PATH, $USER, $LANG 다 — 프로그램 동작 방식을 바꿔. printenv 가 전부, echo $VAR 가 하나.

set / export / unset

  • VAR=value — 이 shell 안에서만.
  • export VAR=value — 모든 자식 프로세스로 전달.
  • unset VAR — 제거.
  • VAR=value cmd — 한 번만 설정. HTTPS_PROXY=... curl ... 가 대표.

왜 export 가 중요한가

export 없으면 값이 현재 shell 에만 살아. python script.py 띄워서 스크립트가 os.environ['VAR'] 읽으면 빈 값. 도구가 잡으려면 항상 export.

네가 만질 변수들

  • $PATH — 실행파일 lookup.
  • $HOME — 홈.
  • $EDITORgit commit 가 띄우는 거 (nvim, code -w, cursor -w 등).
  • $PAGERman 이 쓰는 거 (less -R).
  • $LANG / $LC_* — locale, character set.
  • $TERM — 터미널 타입.

어디서 설정?

인터랙티브 → ~/.zshrc. 로그인 전용 → ~/.zprofile. 다음 레슨에서 다 풀어줘. 일단 둘 중 하나가 정답.

Code

확인 + 설정·bash
printenv | head
echo $EDITOR $PAGER $SHELL
# Set for this shell only
FOO=bar
echo $FOO
# Set for children
export FOO=bar
python3 -c 'import os; print(os.environ.get("FOO"))'
command 한 번만 환경 적용·bash
HTTPS_PROXY=http://proxy:8080 curl https://example.com
DEBUG=1 ./run.sh
# Doesn't pollute the shell — verify
echo $DEBUG

External links

Exercise

printenv | head -20 으로 변수 확인. export EDITOR=nvim (본인 에디터). echo $EDITOR 확인. 서브셸 bash 띄워서 echo $EDITOR — 전달된 거 확인. exit 으로 복귀.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.