environ(7) - wariua/manpages-ko GitHub Wiki

NAME

environ - μ‚¬μš©μž ν™˜κ²½

SYNOPSIS

extern char **environ;

DESCRIPTION

λ³€μˆ˜ environ은 λ¬Έμžμ—΄ ν¬μΈν„°λ“€μ˜ 배열을 κ°€λ¦¬ν‚€λŠ”λ° 이λ₯Ό "ν™˜κ²½"이라고 ν•œλ‹€. κ·Έ λ°°μ—΄μ˜ λ§ˆμ§€λ§‰ ν¬μΈν„°λŠ” NULL 값이닀. (μ‚¬μš©μž ν”„λ‘œκ·Έλž¨ λ‚΄μ—μ„œ 이 λ³€μˆ˜λ₯Ό μ„ μ–Έν•΄μ•Ό ν•œλ‹€. 단 κΈ°λŠ₯ 확인 맀크둜 _GNU_SOURCEκ°€ μ •μ˜λΌ 있으면 헀더 파일 <unistd.h>에 선언돼 μžˆλ‹€.) exec(3) ν˜ΈμΆœμ—μ„œ ν”„λ‘œμ„ΈμŠ€λ₯Ό μ‹œμž‘ν•  λ•Œ ν”„λ‘œμ„ΈμŠ€μ—μ„œ μ‚¬μš© κ°€λŠ₯ν•˜λ„λ‘ 이 λ¬Έμžμ—΄ 배열을 μ€€λΉ„ν•΄ μ€€λ‹€. fork(2)λ₯Ό 톡해 μžμ‹ ν”„λ‘œμ„ΈμŠ€κ°€ λ§Œλ“€μ–΄μ§ˆ λ•Œ λΆ€λͺ¨ ν™˜κ²½μ˜ 사본을 λ¬Όλ €λ°›λŠ”λ‹€.

관행상 environ의 λ¬Έμžμ—΄λ“€μ€ "name=value" ν˜•νƒœλ‹€. 자주 μ“°λŠ” κ²ƒλ“€λ‘œ λ‹€μŒμ΄ μžˆλ‹€.

USER
둜그인 ν•œ μ‚¬μš©μžμ˜ 이름. (일뢀 BSD 유래 ν”„λ‘œκ·Έλž¨λ“€μ—μ„œ μ‚¬μš©.)
LOGNAME
둜그인 ν•œ μ‚¬μš©μžμ˜ 이름. (일뢀 μ‹œμŠ€ν…œ V 유래 ν”„λ‘œκ·Έλž¨λ“€μ—μ„œ μ‚¬μš©.)
HOME
μ‚¬μš©μžμ˜ 둜그인 디렉터리. μ•”ν˜Έ 파일 passwd(5)μ—μ„œ κ°€μ Έμ™€μ„œ login(1)μ—μ„œ μ„€μ •.
LANG
둜캘 μΉ΄ν…Œκ³ λ¦¬λ“€μ— μ‚¬μš©ν•  둜캘 이름. LC_ALL이, λ˜λŠ” 더 μƒμ„Έν•œ ν™˜κ²½ λ³€μˆ˜ LC_COLLATE, LC_CTYPE, LC_MESSAGES, LC_MONETARY, LC_NUMERIC, LC_TIME 등이 있으면 그게 μš°μ„ μ‹œλ¨. (LC_* ν™˜κ²½ λ³€μˆ˜λ“€μ— λŒ€ν•œ μžμ„Έν•œ λ‚΄μš©μ€ locale(7) μ°Έκ³ .)
PATH
sh(1) 및 기타 μ—¬λŸ¬ ν”„λ‘œκ·Έλž¨μ—μ„œ 경둜λͺ…을 λΆˆμ™„μ „ν•˜κ²Œ μ•Œκ³  μžˆλŠ” νŒŒμΌμ„ 탐색할 λ•Œ μ μš©ν•˜λŠ” 디렉터리 μ„ λ‘λΆ€λ“€μ˜ λͺ©λ‘. 선두뢀듀이 ':'둜 ꡬ뢄돼 μžˆλ‹€. (이와 λΉ„μŠ·ν•˜κ²Œ 일뢀 μ…Έμ—λŠ” 디렉터리 λ³€κ²½ λͺ…λ Ή λŒ€μƒμ„ μ°ΎλŠ” 데 μ“°λŠ” CDPATHκ°€ 있고, man(1)μ—μ„œ 맀뉴얼 νŽ˜μ΄μ§€λ₯Ό μ°ΎλŠ” 데 μ“°λŠ” MANPATHκ°€ μžˆκΈ°λ„ ν•˜λ‹€.)
PWD
ν˜„μž¬ μž‘μ—… 디렉터리. 일뢀 μ…Έμ—μ„œ μ„€μ •ν•΄ μ€€λ‹€.
SHELL
μ‚¬μš©μž 둜그인 μ…Έμ˜ 경둜λͺ….
TERM
좜λ ₯ 방식을 맞좜 터미널 μ’…λ₯˜.
PAGER
ν…μŠ€νŠΈ 파일 ν‘œμ‹œλ₯Ό μœ„ν•œ μ‚¬μš©μž μ„ ν˜Έ μœ ν‹Έλ¦¬ν‹°.
EDITOR/VISUAL
ν…μŠ€νŠΈ 파일 νŽΈμ§‘μ„ μœ„ν•œ μ‚¬μš©μž μ„ ν˜Έ μœ ν‹Έλ¦¬ν‹°.

sh(1)μ—μ„œλŠ” export λͺ…λ ΉμœΌλ‘œ, csh(1)을 μ“΄λ‹€λ©΄ setenv λͺ…λ ΉμœΌλ‘œ μ…Έμ˜ ν™˜κ²½μ— 이름을 넣을 수 μžˆλ‹€.

λ‹€μ–‘ν•œ λ°©μ‹μœΌλ‘œ μ…Έμ˜ 졜초 ν™˜κ²½μ΄ μ±„μ›Œμ§„λ‹€. 예λ₯Ό λ“€μ–΄ (pam(8)을 μ“°λŠ” μ‹œμŠ€ν…œμ—μ„œλŠ”) λͺ¨λ“  μ‚¬μš©μžμ˜ 둜그인 μ‹œμ μ— pam_env(8)μ—μ„œ /etc/environment의 μ •μ˜λ“€μ„ κ°€μ Έμ™€μ„œ μ²˜λ¦¬ν•œλ‹€. 그리고 μ‹œμŠ€ν…œ μ „μ—­ /etc/profile μŠ€ν¬λ¦½νŠΈλ‚˜ μ‚¬μš©μžλ³„ μ΄ˆκΈ°ν™” 슀크립트 같은 μ—¬λŸ¬ μ…Έ μ΄ˆκΈ°ν™” μŠ€ν¬λ¦½νŠΈμ— μ…Έμ˜ ν™˜κ²½μ— λ³€μˆ˜λ₯Ό μΆ”κ°€ν•˜λŠ” λͺ…령이 μžˆμ„ 수 μžˆλ‹€. μžμ„Έν•œ λ‚΄μš©μ€ μ‚¬μš©ν•˜λŠ” μ…Έμ˜ 맀뉴얼 νŽ˜μ΄μ§€λ₯Ό 보라.

λ³Έ(Bourne) μŠ€νƒ€μΌ μ…Έμ—μ„œλŠ” λ‹€μŒ 문법을 μ§€μ›ν•œλ‹€.

NAME=value command

이λ₯Ό μ΄μš©ν•΄ commandλ₯Ό μ‹€ν–‰ν•˜λŠ” ν”„λ‘œμ„ΈμŠ€λ‘œ λ²”μœ„λ‘œ ν•œμ •λ˜λŠ” ν™˜κ²½ λ³€μˆ˜ μ •μ˜λ₯Ό λ§Œλ“€ 수 μžˆλ‹€. command μ•žμ— 곡백으둜 κ΅¬λΆ„ν•΄μ„œ μ •μ˜κ°€ μ—¬λŸ¬ 개 올 수 μžˆλ‹€.

exec(3) μ‹œμ μ— ν™˜κ²½μ— μΈμžλ“€μ΄ λ“€μ–΄κ°ˆ μˆ˜λ„ μžˆλ‹€. C ν”„λ‘œκ·Έλž¨μ—μ„œ getenv(3), putenv(3), setenv(3), unsetenv(3) ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•΄ 자기 ν™˜κ²½μ„ μ‘°μž‘ν•  수 μžˆλ‹€.

참고둜 νŠΉμ • ν™˜κ²½ λ³€μˆ˜μ˜ κ°’μ΄λ‚˜ 쑴재 μ—¬λΆ€κ°€ μ—¬λŸ¬ ν”„λ‘œκ·Έλž¨ 및 라이브러리 λ£¨ν‹΄μ˜ λ™μž‘μ— 영ν–₯을 μ€€λ‹€. 예둜 λ‹€μŒμ΄ μžˆλ‹€.

  • λ³€μˆ˜ LANG, LANGUAGE, NLSPATH, LOCPATH, LC_ALL, LC_MESSAGES 등이 둜캘 μ²˜λ¦¬μ— 영ν–₯을 μ€€λ‹€. catopen(3), gettext(3), locale(7) μ°Έκ³ .

  • TMPDIR이 tempnam(3) λ“±μ˜ λ£¨ν‹΄μ—μ„œ λ§Œλ“œλŠ” μ΄λ¦„μ˜ 경둜 선두뢀와 sort(1) λ“±μ˜ ν”„λ‘œκ·Έλž¨μ—μ„œ μ“°λŠ” μž„μ‹œ 디렉터리에 영ν–₯을 μ€€λ‹€.

  • LD_LIBRARY_PATH, LD_PRELOAD, 여타 LD_* λ³€μˆ˜λ“€μ΄ 동적 λ‘œλ”/링컀의 λ™μž‘μ— 영ν–₯을 μ€€λ‹€.

  • POSIXLY_CORRECTκ°€ νŠΉμ • ν”„λ‘œκ·Έλž¨ 및 라이브러리 루틴듀이 POSIX κ·œμ •μ„ λ”°λ₯΄κ²Œ λ§Œλ“ λ‹€.

  • MALLOC_* λ³€μˆ˜λ“€μ΄ malloc(3)의 λ™μž‘μ— 영ν–₯을 μ€€λ‹€.

  • HOSTALIASES λ³€μˆ˜λ‘œ μ§€μ •ν•œ νŒŒμΌμ— λ‹΄κΈ΄ 별λͺ…듀을 gethostbyname(3)μ—μ„œ μ‚¬μš©ν•œλ‹€.

  • TZ 및 TZDIR의 μ‹œκ°„λŒ€ 정보λ₯Ό tzset(3)μ—μ„œ, 그리고 κ·Έ ν•¨μˆ˜λ₯Ό μ΄μš©ν•˜λŠ” ctime(3), localtime(3), mktime(3), strftime(3) 같은 ν•¨μˆ˜λ“€μ—μ„œ μ‚¬μš©ν•œλ‹€. tzselect(8)도 μ°Έκ³ .

  • TERMCAP은 ν•΄λ‹Ή 터미널을 μ–΄λ–»κ²Œ 닀룰지에 λŒ€ν•œ 정보λ₯Ό (λ˜λŠ” 그런 정보λ₯Ό 담은 파일 이름을) μ€€λ‹€.

  • COLUMNS와 LINESλŠ” μ°½ 크기λ₯Ό μ‘μš©μ—κ²Œ μ•Œλ € μ€€λ‹€. μ‹€μ œ 크기과 λ‹€λ₯΄κ²Œ μ§€μ •ν•  μˆ˜λ„ μžˆλ‹€.

  • PRINTERλ‚˜ LPDEST둜 μ‚¬μš©ν•˜λ €λŠ” ν”„λ¦°ν„°λ₯Ό λ‚˜νƒ€λ‚Ό 수 μžˆλ‹€. lpr(1) μ°Έκ³ .

NOTES

prctl(2)의 PR_SET_MM_ENV_START 및 PR_SET_MM_ENV_END λ™μž‘μ„ μ΄μš©ν•΄ ν”„λ‘œμ„ΈμŠ€ ν™˜κ²½μ˜ μœ„μΉ˜λ₯Ό μ œμ–΄ν•  수 μžˆλ‹€.

BUGS

λͺ…λ°±νžˆ μ—¬κΈ°μ—λŠ” λ³΄μ•ˆμƒμ˜ μœ„ν—˜μ΄ μžˆλ‹€. IFSλ‚˜ LD_LIBRARY_PATH에 μ΄μƒν•œ 값을 μ§€μ •ν•œ μ‚¬μš©μžμ—κ²Œ μ†μ•„μ„œ μ—¬λŸ¬ μ‹œμŠ€ν…œ λͺ…령듀이 μ˜€λ™μž‘ ν•˜κ³€ ν–ˆλ‹€.

이름 곡간 μ˜€μ—Ό μœ„ν—˜λ„ μžˆλ‹€. makeλ‚˜ autoconf 같은 ν”„λ‘œκ·Έλž¨μ—μ„  ν™˜κ²½μ— λŒ€λ¬Έμžλ‘œ 된 λΉ„μŠ·ν•œ μ΄λ¦„μ˜ λ³€μˆ˜λ₯Ό μ¨μ„œ κΈ°λ³Έ μœ ν‹Έλ¦¬ν‹°μ˜ 이름을 λ°”κΏ€ 수 μžˆλ‹€. κ°€λ Ή CCλ₯Ό μ΄μš©ν•΄ μ›ν•˜λŠ” C 컴파일러λ₯Ό μ„ νƒν•œλ‹€. (λΉ„μŠ·ν•˜κ²Œ MAKE, AR, AS, FD, LD, LEX, RM, YACC 등이 μžˆλ‹€.) ν•˜μ§€λ§Œ 일뢀 전톡적 μš©λ²•μ—μ„œλŠ” 그런 ν™˜κ²½ λ³€μˆ˜λ‘œ 경둜λͺ…이 μ•„λ‹ˆλΌ ν”„λ‘œκ·Έλž¨ μ˜΅μ…˜μ„ μ§€μ •ν•œλ‹€. κ°€λ Ή MORE, LESS, GZIP 등이 μžˆλ‹€. 이 μš©λ²•μ€ 잘λͺ»λœ 것이고 μƒˆλ‘œμš΄ ν”„λ‘œκ·Έλž¨μ—μ„œλŠ” ν”Όν•΄μ•Ό ν•œλ‹€. gzip의 μ €μžλ“€μ€ μ˜΅μ…˜ 이름을 GZIP_OPT둜 λ°”κΎΈλŠ” κ±Έ 생각해 봐야 ν•œλ‹€.

SEE ALSO

bash(1), csh(1), env(1), login(1), printenv(1), sh(1), tcsh(1), execve(2), clearenv(3), exec(3), getenv(3), putenv(3), setenv(3), unsetenv(3), locale(7), ld.so(8), pam_env(8)


2017-09-15

⚠️ **GitHub.com Fallback** ⚠️