environ(7) - wariua/manpages-ko GitHub Wiki
environ - μ¬μ©μ νκ²½
extern char **environ;λ³μ 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)μ°Έκ³ .
prctl(2)μ PR_SET_MM_ENV_START λ° PR_SET_MM_ENV_END λμμ μ΄μ©ν΄ νλ‘μΈμ€ νκ²½μ μμΉλ₯Ό μ μ΄ν μ μλ€.
λͺ
λ°±ν μ¬κΈ°μλ 보μμμ μνμ΄ μλ€. IFSλ LD_LIBRARY_PATHμ μ΄μν κ°μ μ§μ ν μ¬μ©μμκ² μμμ μ¬λ¬ μμ€ν
λͺ
λ Ήλ€μ΄ μ€λμ νκ³€ νλ€.
μ΄λ¦ κ³΅κ° μ€μΌ μνλ μλ€. makeλ autoconf κ°μ νλ‘κ·Έλ¨μμ νκ²½μ λλ¬Έμλ‘ λ λΉμ·ν μ΄λ¦μ λ³μλ₯Ό μ¨μ κΈ°λ³Έ μ νΈλ¦¬ν°μ μ΄λ¦μ λ°κΏ μ μλ€. κ°λ Ή CCλ₯Ό μ΄μ©ν΄ μνλ C μ»΄νμΌλ¬λ₯Ό μ ννλ€. (λΉμ·νκ² MAKE, AR, AS, FD, LD, LEX, RM, YACC λ±μ΄ μλ€.) νμ§λ§ μΌλΆ μ ν΅μ μ©λ²μμλ κ·Έλ° νκ²½ λ³μλ‘ κ²½λ‘λͺ
μ΄ μλλΌ νλ‘κ·Έλ¨ μ΅μ
μ μ§μ νλ€. κ°λ Ή MORE, LESS, GZIP λ±μ΄ μλ€. μ΄ μ©λ²μ μλͺ»λ κ²μ΄κ³ μλ‘μ΄ νλ‘κ·Έλ¨μμλ νΌν΄μΌ νλ€. gzipμ μ μλ€μ μ΅μ
μ΄λ¦μ GZIP_OPTλ‘ λ°κΎΈλ κ±Έ μκ°ν΄ λ΄μΌ νλ€.
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