๊ฐœ๋ฐœ๋…ธํŠธ/Linux

[Linux] export/env/ printenv : ํ”„๋กœ์„ธ์Šค ์‹คํ–‰ ํ™˜๊ฒฝ์„ ์ œ์–ดํ•˜๋Š” ๋„๊ตฌ ๐Ÿ”

๋กœ๋กœ๋ฝœ 2025. 12. 23. 07:30

๋ฆฌ๋ˆ…์Šค ํ™˜๊ฒฝ๋ณ€์ˆ˜๋Š” ์‰˜๊ณผ ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ํ™˜๊ฒฝ์„ ๊ตฌ์„ฑํ•˜๋Š” ํ•ต์‹ฌ ์š”์†Œ์ž…๋‹ˆ๋‹ค. export, env, printenv ์ฐจ์ด๋ถ€ํ„ฐ ํ™˜๊ฒฝ๋ณ€์ˆ˜์˜ ์ƒ์„ฑ·์กฐํšŒ·์ „๋‹ฌ ๋ฐฉ์‹๊นŒ์ง€ ์‹ค์ „ ์ค‘์‹ฌ์œผ๋กœ ์™„๋ฒฝํ•˜๊ฒŒ ์ •๋ฆฌํ–ˆ์Šต๋‹ˆ๋‹ค.

1. ํ™˜๊ฒฝ๋ณ€์ˆ˜๋Š” ์™œ ์ค‘์š”ํ•œ๊ฐ€?

๋ฆฌ๋ˆ…์Šค ํ™˜๊ฒฝ(Environment)๊ณผ ํ™˜๊ฒฝ๋ณ€์ˆ˜ ๊ฐœ๋…์„ ์š”์•ฝ
๋ฆฌ๋ˆ…์Šค ํ™˜๊ฒฝ๊ณผ ํ™˜๊ฒฝ๋ณ€์ˆ˜

๋ฆฌ๋ˆ…์Šค์—์„œ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ๋‹จ์ˆœํžˆ ํ”„๋กœ๊ทธ๋žจ๋งŒ ์‹คํ–‰๋˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋‹ค.
ํ•ด๋‹น ๋ช…๋ น์–ด๋Š” “ํ™˜๊ฒฝ(environment)”์ด๋ผ๋Š” ํฐ ์ปจํ…์ŠคํŠธ์—์„œ ๋™์ž‘ํ•œ๋‹ค.

์ด ํ™˜๊ฒฝ์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ •๋ณด๊ฐ€ ํฌํ•จ๋œ๋‹ค.

  • PATH
  • ํ™ˆ ๋””๋ ‰ํ„ฐ๋ฆฌ
  • ์–ธ์–ด/๋กœ์ผ€์ผ ์„ค์ •
  • ํ”„๋กฌํ”„ํŠธ ํ˜•ํƒœ
  • ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ฒ€์ƒ‰ ๊ฒฝ๋กœ
  • ์‹คํ–‰ ์‹œ ํ•„์š”ํ•œ ๊ตฌ์„ฑ ์ •๋ณด

์ด ๋ชจ๋“  ๊ฒƒ์ด ํ™˜๊ฒฝ๋ณ€์ˆ˜(Environment Variable) ๋กœ ์ €์žฅ๋œ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด, PATH๋ฅผ ์ž˜๋ชป ์„ค์ •ํ•˜๋ฉด ๋ชจ๋“  ํ”„๋กœ๊ทธ๋žจ์ด ์‹คํ–‰๋˜์ง€ ์•Š๋Š”๋‹ค.
LANG์ด ์ž˜๋ชป ์„ค์ •๋˜๋ฉด ๋ฌธ์ž ๊นจ์ง์ด ๋ฐœ์ƒํ•œ๋‹ค.

์ž„๋ฒ ๋””๋“œ·OpenWrt ํ™˜๊ฒฝ์—์„œ๋Š”
LD_LIBRARY_PATH๊ฐ€ ์ž˜๋ชป๋˜๋ฉด ์‹คํ–‰ ํŒŒ์ผ์ด ์•„์˜ˆ ๋ชป ๋Œ์•„๊ฐ„๋‹ค.

๊ทธ๋ž˜์„œ ํ™˜๊ฒฝ๋ณ€์ˆ˜๋Š” ๋ฆฌ๋ˆ…์Šค ์ „์ฒด ์‹คํ–‰ ๊ตฌ์กฐ์—์„œ ํ•ต์‹ฌ ์—ญํ• ์„ ํ•œ๋‹ค.

์ด ํ™˜๊ฒฝ์„ ๊ตฌ์„ฑํ•˜๊ณ  ์ œ์–ดํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•˜๋Š” ๋ช…๋ น์–ด๊ฐ€ ๋ฐ”๋กœ:

  • export
  • env
  • printenv

์ด๋‹ค.

์ด ๊ธ€์—์„œ๋Š” ์ด ์„ธ ๊ฐ€์ง€ ๋ช…๋ น์–ด๋ฅผ ์ค‘์‹ฌ์œผ๋กœ
๋ฆฌ๋ˆ…์Šค ํ™˜๊ฒฝ๋ณ€์ˆ˜์˜ ๊ฐœ๋…๋ถ€ํ„ฐ ์‹ค์ „๊นŒ์ง€ ๋ชจ๋‘ ์ •๋ฆฌํ•œ๋‹ค.


2. ํ™˜๊ฒฝ๋ณ€์ˆ˜๋ž€ ๋ฌด์—‡์ธ๊ฐ€?

ํ™˜๊ฒฝ๋ณ€์ˆ˜(Environment Variable) ๊ฐœ๋…
ํ™˜๊ฒฝ๋ณ€์ˆ˜๋ž€

ํ™˜๊ฒฝ๋ณ€์ˆ˜(Environment Variable)๋Š” ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‹คํ–‰๋  ๋•Œ ์ „๋‹ฌ๋˜๋Š” ์„ค์ •๊ฐ’์ด๋‹ค.

์ฆ‰,

ํ”„๋กœ๊ทธ๋žจ์ด ์‹œ์ž‘ํ•˜๊ธฐ ์ „์— ๋ฏธ๋ฆฌ ์ฃผ์–ด์ง€๋Š” ์ „์—ญ ์˜ต์…˜์ด๋ผ๊ณ  ๋ณด๋ฉด ๋œ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด ๋‹ค์Œ ๋ณ€์ˆ˜๋“ค์€ ๋Œ€๋ถ€๋ถ„์˜ ๋กœ๊ทธ์ธ ํ™˜๊ฒฝ์—์„œ ๊ธฐ๋ณธ์œผ๋กœ ์กด์žฌํ•œ๋‹ค.

PATH=/usr/bin:/bin
HOME=/home/roroppwa
LANG=ko_KR.UTF-8
 

์ด ๊ฐ’๋“ค์€ ๋‹จ์ˆœํ•œ ๋ฌธ์ž์—ด์ด ์•„๋‹ˆ๋ผ:

  • ์–ด๋–ค ํ”„๋กœ๊ทธ๋žจ์ด ์‹คํ–‰๋  ์ˆ˜ ์žˆ๋Š”์ง€(Pโ†—ATH)
  • ์–ด๋–ค ์–ธ์–ด๋กœ ์ถœ๋ ฅํ•  ๊ฒƒ์ธ์ง€(LANG)
  • ์–ด๋””๊ฐ€ ๊ธฐ๋ณธ ๊ฒฝ๋กœ์ธ์ง€(HOME)
  • ์–ด๋–ค ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ฝ์„ ๊ฒƒ์ธ์ง€(LD_LIBRARY_PATH)

๊ฐ™์€ ์ค‘์š”ํ•œ ์—ญํ• ์„ ํ•œ๋‹ค.


3. Shell Variable vs Environment Variable

Shell Variable๊ณผ Environment Variable์˜ ์ฐจ์ด๋ฅผ ์„ค๋ช…
Shell Variable vs Environment Variable

ํ™˜๊ฒฝ๋ณ€์ˆ˜๋ฅผ ์ดํ•ดํ•˜์ง€ ๋ชปํ•˜๋Š” ๊ฐ€์žฅ ํฐ ์ด์œ ๋Š”
๋‘ ๊ฐœ์˜ ๋ณ€์ˆ˜๊ฐ€ ๊ฒ‰๋ณด๊ธฐ์—” ๋น„์Šทํ•˜์ง€๋งŒ, ๋™์ž‘ ๋ฐฉ์‹์ด ์™„์ „ํžˆ ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.


์ข…๋ฅ˜ ์„ค๋ช… export ํ•„์š” ์—ฌ๋ถ€
Shell Variable ํ˜„์žฌ ์‰˜ ๋‚ด๋ถ€์—์„œ๋งŒ ์œ ํšจํ•œ ๋ณ€์ˆ˜ โŒ ํ•„์š” ์—†์Œ
Environment Variable ์ž์‹ ํ”„๋กœ์„ธ์Šค(์‹คํ–‰๋œ ํ”„๋กœ๊ทธ๋žจ)์—๋„ ์ „๋‹ฌ๋˜๋Š” ๋ณ€์ˆ˜ โœ” export ํ•„์š”

์ฆ‰:

VAR="hello"
 

๋Š” ์‰˜ ๋‚ด๋ถ€์—๋งŒ ์กด์žฌํ•œ๋‹ค.

ํ”„๋กœ๊ทธ๋žจ์ด ์ด ๋ณ€์ˆ˜๋ฅผ ๋ฐ›๊ฒŒ ํ•˜๋ ค๋ฉด:

export VAR="hello"
 

์ด๋ ‡๊ฒŒ ํ•ด์•ผ environment ๋ณ€์ˆ˜๋กœ ์Šน๊ฒฉ๋˜์–ด ํ”„๋กœ๊ทธ๋žจ์— ์ „๋‹ฌ๋œ๋‹ค.


4. export : ํ™˜๊ฒฝ๋ณ€์ˆ˜๋ฅผ “ํ”„๋กœ์„ธ์Šค์— ์ „๋‹ฌ”ํ•˜๋Š” ๋ช…๋ น์–ด

export๋Š” ๋ณ€์ˆ˜๋ฅผ ์ž์‹ ํ”„๋กœ์„ธ์Šค์— ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ๋„๋ก ๋“ฑ๋กํ•˜๋Š” ๋ช…๋ น์–ด๋‹ค.

1) ๊ธฐ๋ณธ ๋ฌธ๋ฒ•

export ๋ณ€์ˆ˜๋ช…=๊ฐ’
 

์˜ˆ:

export PATH=/opt/bin:$PATH
 

2) export์˜ ์ค‘์š”์„ฑ ์‹ค์ „ ์˜ˆ์ œ

์˜ˆ๋ฅผ ๋“ค์–ด ์•„๋ž˜์ฒ˜๋Ÿผ ๋ณ€์ˆ˜๋งŒ ์„ ์–ธํ–ˆ๋‹ค๋ฉด:

MYVAR="hello"
 

์‰˜ ๋‚ด๋ถ€์—์„œ๋Š”:

echo $MYVAR
hello
 

ํ•˜์ง€๋งŒ ํ”„๋กœ๊ทธ๋žจ์—๊ฒŒ๋Š” ์ „๋‹ฌ๋˜์ง€ ์•Š๋Š”๋‹ค.

์•„๋ž˜์ฒ˜๋Ÿผ ํ•ด์•ผ ํ•œ๋‹ค:

export MYVAR
 

๋˜๋Š” ํ•œ ๋ฒˆ์—:

export MYVAR="hello"
 

์ด์ œ ์‹คํ–‰๋˜๋Š” ๋ชจ๋“  ํ”„๋กœ๊ทธ๋žจ์€ MYVAR=hello ๊ฐ’์„ ์ „๋‹ฌ๋ฐ›๊ฒŒ ๋œ๋‹ค.


5. env : ํ™˜๊ฒฝ๋ณ€์ˆ˜ ๋ชฉ๋ก์„ ํ™•์ธํ•˜๊ฑฐ๋‚˜ ํŠน์ • ํ™˜๊ฒฝ์œผ๋กœ ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰

โœ” env์˜ ๋‘ ๊ฐ€์ง€ ์šฉ๋„

  1. ํ˜„์žฌ ํ™˜๊ฒฝ๋ณ€์ˆ˜ ๋ฆฌ์ŠคํŠธ ์กฐํšŒ
  2. ์ž„์‹œ ํ™˜๊ฒฝ์„ ์ ์šฉํ•˜์—ฌ ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰

1) ํ˜„์žฌ ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์กฐํšŒ

env
 

์ถœ๋ ฅ ์˜ˆ:

PATH=/usr/bin:/bin
HOME=/home/roroppwa
LANG=ko_KR.UTF-8
SHELL=/bin/zsh
 

2) ํŠน์ • ํ™˜๊ฒฝ์—์„œ ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•˜๊ธฐ

์˜ˆ:

env VAR=value command
 

์ด ๋ช…๋ น์€ ํ˜„์žฌ ์‰˜์—๋Š” ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š๊ณ ,
ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•  ๋•Œ๋งŒ ํ™˜๊ฒฝ๋ณ€์ˆ˜๋ฅผ ์ „๋‹ฌํ•œ๋‹ค.

์˜ˆ:

env DEBUG=1 ./app
 

ํ”„๋กœ๊ทธ๋žจ์€ DEBUG=1 ์ƒํƒœ์—์„œ ์‹คํ–‰๋˜์ง€๋งŒ
์‰˜ ๋ณ€์ˆ˜๋Š” ๋ณ€ํ•˜์ง€ ์•Š๋Š”๋‹ค.

์ด๊ฑด ๋งค์šฐ ์ค‘์š”ํ•œ ํŠน์ง•์ด๋‹ค.


6. printenv : ํŠน์ • ํ™˜๊ฒฝ๋ณ€์ˆ˜๋งŒ ์ถœ๋ ฅ

env์™€ ๋‹ค๋ฅด๊ฒŒ, printenv๋Š” ํŠน์ • ๋ณ€์ˆ˜๋งŒ ํ™•์ธํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.

printenv PATH
 
/usr/bin:/bin
 

๋˜๋Š” ์ „์ฒด ์ถœ๋ ฅ:

printenv
 

env์™€ ๊ฑฐ์˜ ์œ ์‚ฌํ•˜์ง€๋งŒ
์Šคํฌ๋ฆฝํŠธ์—์„œ ํŠน์ • ๋ณ€์ˆ˜ ์กฐํšŒ ์‹œ์—๋Š” printenv๊ฐ€ ๋” ์ ํ•ฉํ•˜๋‹ค.


7. export · env · printenv ์ฐจ์ด๋ฅผ ํ•œ๋ˆˆ์— ์ •๋ฆฌ

export env printenv ์ฐจ์ด ์š”์•ฝ
export · env · printenv ๋น„๊ต


๊ธฐ๋Šฅ export env printenv
๋ณ€์ˆ˜ ์„ค์ • โœ” โœ”(์ž„์‹œ) โŒ
๋ณ€์ˆ˜ ์กฐํšŒ โœ”(๋‚ด๋ถ€) โœ” โœ”
ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ์‹œ ์ „๋‹ฌ โœ”(์˜๊ตฌ) โœ”(์ž„์‹œ) โŒ
์Šคํฌ๋ฆฝํŠธ์—์„œ ๋งŽ์ด ์‚ฌ์šฉ โœ”โœ” โœ” โœ”โœ”โœ”
PATH ์„ค์ • โœ” ๊ฐ€๋Šฅ โŒ

ํ•œ ๋ฌธ์žฅ ์š”์•ฝ

  • export → ๋ณ€์ˆ˜ ์ƒ์„ฑ + ํ™˜๊ฒฝ๋ณ€์ˆ˜ ๋“ฑ๋ก
  • env → ํ™•์ธ ๋˜๋Š” ํŠน์ • ํ™˜๊ฒฝ์œผ๋กœ ์‹คํ–‰
  • printenv → ํŠน์ • ๋ณ€์ˆ˜ ์ถœ๋ ฅ

8. ํ™˜๊ฒฝ๋ณ€์ˆ˜๊ฐ€ ์‹ค์ œ๋กœ ํ”„๋กœ๊ทธ๋žจ์— ์ „๋‹ฌ๋˜๋Š” ๊ณผ์ •

์ด ๋ถ€๋ถ„์€ ๋งŽ์€ ๊ฐœ๋ฐœ์ž๊ฐ€ ์˜คํ•ดํ•˜๋Š” ๋ถ€๋ถ„์ด๋‹ค.

ํ”„๋กœ์„ธ์Šค ์ƒ์„ฑ ๊ณผ์ •์€ ์•„๋ž˜์ฒ˜๋Ÿผ ์ด๋ฃจ์–ด์ง„๋‹ค:

fork → execve → ํ”„๋กœ๊ทธ๋žจ ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์ „๋‹ฌ ๊ตฌ์กฐ

ํ”„๋กœ์„ธ์Šค ๊ตฌ์กฐ:

Shell → fork() → execve() → ํ”„๋กœ๊ทธ๋žจ
 

์—ฌ๊ธฐ์„œ execve()๋Š” ํ™˜๊ฒฝ๋ณ€์ˆ˜ ๋ฐฐ์—ด์„ ํ”„๋กœ์„ธ์Šค์— ์ „๋‹ฌํ•œ๋‹ค.
exportํ•˜์ง€ ์•Š์€ ๋ณ€์ˆ˜๋Š” execve์—์„œ ํ™˜๊ฒฝ ๋ฐฐ์—ด์— ํฌํ•จ๋˜์ง€ ์•Š๋Š”๋‹ค.
๊ทธ๋ž˜์„œ ํ”„๋กœ๊ทธ๋žจ์ด ๊ทธ ๊ฐ’์„ ์ฝ์„ ์ˆ˜ ์—†๋‹ค.


9. PATH์™€ ํ™˜๊ฒฝ๋ณ€์ˆ˜์˜ ๊ด€๊ณ„

PATH๋Š” ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์ค‘ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๋ณ€์ˆ˜๋‹ค.

export PATH=/opt/custom/bin:$PATH
 

์ด ํ•œ ์ค„์ด ์˜๋ฏธํ•˜๋Š” ๊ฒƒ์€:

linux path search order diagram circular style
PATH ์ˆœ์„œ์— ๋”ฐ๋ผ ๋ช…๋ น์–ด ์‹คํ–‰ ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋ฐ”๋€Œ๋Š” ๊ตฌ์กฐ

  • ๋ช…๋ น์–ด ๊ฒ€์ƒ‰ ์ˆœ์„œ๊ฐ€ ๋ฐ”๋€œ
  • ๊ฐ™์€ ์ด๋ฆ„์˜ ๋ช…๋ น์–ด๋ผ๋„ ๋‹ค๋ฅธ ๋ฒ„์ „์ด ์‹คํ–‰๋  ์ˆ˜ ์žˆ์Œ
  • Homebrew·SDK·Toolchain ์‚ฌ์šฉ ์‹œ ์ถฉ๋Œ ๋ฐœ์ƒ ๊ฐ€๋Šฅ

ํŠนํžˆ macOS ๋˜๋Š” ์ž„๋ฒ ๋””๋“œ ํ™˜๊ฒฝ์—์„œ๋Š” PATH ์šฐ์„ ์ˆœ์œ„๊ฐ€ ์‹ค๋ฌด ๋ฌธ์ œ์˜ 80%๋ฅผ ์ฐจ์ง€ํ•œ๋‹ค.


10. ํ™˜๊ฒฝ๋ณ€์ˆ˜๋Š” ์–ด๋””์— ์ €์žฅํ•ด์•ผ ํ• ๊นŒ?

ํ™˜๊ฒฝ๋ณ€์ˆ˜๋Š” ์„ค์ • ํŒŒ์ผ๋งˆ๋‹ค ๋ชฉ์ ์ด ๋‹ค๋ฅด๋‹ค.


์„ค์ • ๋ชฉ์ 
~/.bashrc bash ์ธํ„ฐ๋ž™ํ‹ฐ๋ธŒ ํ™˜๊ฒฝ
~/.zshrc zsh ์ธํ„ฐ๋ž™ํ‹ฐ๋ธŒ ํ™˜๊ฒฝ
~/.profile ๋กœ๊ทธ์ธ ํ™˜๊ฒฝ
/etc/profile ์‹œ์Šคํ…œ ์ „์ฒด ํ™˜๊ฒฝ
/etc/environment ๋กœ๊ทธ์ธ ์ด์ „ ์ดˆ๊ธฐ ํ™˜๊ฒฝ

์˜ˆ:

export PATH="$HOME/bin:$PATH"
 

→ zsh ์‚ฌ์šฉ์ž๋ผ๋ฉด ~/.zshrc์— ๋„ฃ๋Š” ๊ฒŒ ์ผ๋ฐ˜์ .


11. ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์‹ค์ „ ์˜ˆ์ œ 10๊ฐ€์ง€

1) ์ž„์‹œ๋กœ LANG ๋ณ€๊ฒฝ

env LANG=C ls
 

2) ํ”„๋กœ๊ทธ๋žจ ๋””๋ฒ„๊ทธ ๋ชจ๋“œ ์‹คํ–‰

env DEBUG=1 ./server
 

3) OpenWrt / ์ž„๋ฒ ๋””๋“œ์—์„œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ฒฝ๋กœ ์ง€์ •

export LD_LIBRARY_PATH=/usr/local/lib
 

4) Go ๋นŒ๋“œ ํ™˜๊ฒฝ ์„ค์ •

export GOPATH=$HOME/go
export GOBIN=$GOPATH/bin
 

5) Python virtualenv ํ™œ์„ฑํ™”

export VIRTUAL_ENV="$HOME/venv"
export PATH="$VIRTUAL_ENV/bin:$PATH"
 

6) Java ํ™˜๊ฒฝ ์„ค์ •

export JAVA_HOME=/usr/lib/jvm/java-11-openjdk
export PATH=$JAVA_HOME/bin:$PATH
 

7) Proxy ์„ค์ •

export http_proxy=http://127.0.0.1:8080
 

8) Editor ๊ธฐ๋ณธ ์„ค์ •

export EDITOR=vim
 

9) PATH ์žฌ์ •์˜

export PATH=/usr/local/bin:/usr/bin:/bin
 

10) ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์‚ญ์ œ

unset VAR
 

11. ํ™˜๊ฒฝ๋ณ€์ˆ˜ ๋””๋ฒ„๊น… ํŒ

1) PATH๋ฅผ ์ค„๋ฐ”๊ฟˆ์œผ๋กœ ๋ณด๊ธฐ

echo $PATH | tr ':' '\n'
 

2) ํŠน์ • ๋ณ€์ˆ˜ ์ฐพ๊ธฐ

env | grep JAVA
 

3) ๋ชจ๋“  ๋ณ€์ˆ˜ ์ค‘ ์ •์˜๋œ ํ•ญ๋ชฉ ๋ณด๊ธฐ

set
 

4) ์ž์‹ ํ”„๋กœ๊ทธ๋žจ์—์„œ ๋ณ€์ˆ˜ ํ™•์ธ

export TEST=123 
bash -c 'echo $TEST'
 

12. FAQ : ์‹ค๋ฌด์—์„œ ๊ฐ€์žฅ ๋งŽ์ด ๋ฌป๋Š” ์งˆ๋ฌธ ์ •๋ฆฌ

Q1. export๋Š” ๋ฐ˜๋“œ์‹œ ํ•„์š”ํ•œ๊ฐ€์š”?

์ž์‹ ํ”„๋กœ๊ทธ๋žจ์— ๋ณ€์ˆ˜๋ฅผ ์ „๋‹ฌํ•˜๋ ค๋ฉด ๋ฐ˜๋“œ์‹œ ํ•„์š”ํ•จ.

Q2. env์™€ printenv๋Š” ๋ญ๊ฐ€ ๋‹ค๋ฅธ๊ฐ€์š”?

env๋Š” ์‹คํ–‰·์กฐํšŒ ๋‘˜ ๋‹ค, printenv๋Š” ์กฐํšŒ ์ „์šฉ.

Q3. env VAR=value cmd ๋ฐฉ์‹์€ ์™œ ์œ ์šฉํ•œ๊ฐ€์š”?

ํ˜„์žฌ ์…ธ์„ ๋”๋Ÿฝํžˆ์ง€ ์•Š๊ณ  ์ผ์‹œ์  ํ™˜๊ฒฝ์—์„œ ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ ๊ฐ€๋Šฅ.

Q4. ํ™˜๊ฒฝ๋ณ€์ˆ˜๋Š” ์–ด๋”” ํŒŒ์ผ์— ๋„ฃ์–ด์•ผ ํ•˜๋‚˜์š”?

zshrc, bashrc, profile ๋“ฑ ์‚ฌ์šฉ ํ™˜๊ฒฝ์— ๋”ฐ๋ผ ๋‹ค๋ฅด๋‹ค.

Q5. PATH๋Š” ์™œ ์ž์ฃผ exportํ•ด์•ผ ํ•˜๋‚˜์š”?

ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ์ˆœ์„œ๋ฅผ ๊ฒฐ์ •ํ•˜๊ธฐ ๋•Œ๋ฌธ์—.

Q6. unset๊ณผ export์˜ ์ฐจ์ด๋Š”?

unset์€ ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์‚ญ์ œ.

Q7. sudo ์‹œ ํ™˜๊ฒฝ๋ณ€์ˆ˜๊ฐ€ ์™œ ์ ์šฉ ์•ˆ ๋˜๋‚˜์š”?

sudo๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ณด์•ˆ์ƒ ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์ „๋‹ฌ์„ ๋ง‰์Œ.

Q8. OpenWrt์—์„œ printenv์™€ env๊ฐ€ ์™œ ์ฐจ์ด๊ฐ€ ์žˆ๋‚˜์š”?

BusyBox ๊ธฐ๋ฐ˜์ด๋ผ ๋™์ž‘์ด ๊ฐ„๋‹จํ•œ ๋ฒ„์ „.

Q9. ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์ด๋ฆ„ ๊ทœ์น™์€?

๋Œ€๋ฌธ์ž ์‚ฌ์šฉ ๊ถŒ์žฅ.

Q10. ์‰˜์„ ๋ฐ”๊พธ๋ฉด ํ™˜๊ฒฝ๋ณ€์ˆ˜๋„ ๋‹ฌ๋ผ์ง€๋‚˜์š”?

zsh vs bash ํ™˜๊ฒฝ์— ๋”ฐ๋ผ ๋‹ค๋ฅด๊ฒŒ ์ ์šฉ๋จ.


13. ํ™˜๊ฒฝ๋ณ€์ˆ˜๋Š” ๋ฆฌ๋ˆ…์Šค ์‹คํ–‰ ํ™˜๊ฒฝ์˜ ‘๊ทผ๋ณธ ๊ตฌ์กฐ’

ํ™˜๊ฒฝ๋ณ€์ˆ˜๋ฅผ ์•Œ๊ณ  ์“ฐ๋Š” ์‚ฌ๋žŒ๊ณผ ๋ชจ๋ฅด๋Š” ์‚ฌ๋žŒ์˜ ๊ฐœ๋ฐœ ์†๋„๋Š” ์ •๋ง ๋‹ค๋ฅด๋‹ค.

  • export๋Š” ํ™˜๊ฒฝ๋ณ€์ˆ˜๋ฅผ ๋“ฑ๋กํ•˜๋Š” ๊ด€๋ฌธ
  • env๋Š” ์ž„์‹œ ํ™˜๊ฒฝ ์‹คํ–‰
  • printenv๋Š” ์กฐํšŒ ์ „๋ฌธ
  • PATH๋Š” ์‹คํ–‰ ์šฐ์„ ์ˆœ์œ„๋ฅผ ๊ฒฐ์ •

ํ™˜๊ฒฝ๋ณ€์ˆ˜ ๊ตฌ์กฐ๋ฅผ ์ดํ•ดํ•˜๋ฉด
๋ฆฌ๋ˆ…์Šค ๊ฐœ๋ฐœ, ์„œ๋ฒ„ ์šด์˜, OpenWrt, ์ž„๋ฒ ๋””๋“œ ์‹œ์Šคํ…œ์—์„œ ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ๋“ค์„
๋ฐ”๋‹ฅ๋ถ€ํ„ฐ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.

“ํ™˜๊ฒฝ๋ณ€์ˆ˜๋ฅผ ์ดํ•ดํ•˜๋ฉด, ์…ธ์„ ์ง€๋ฐฐํ•˜๊ฒŒ ๋œ๋‹ค.”